Commit graph

1815 commits

Author SHA1 Message Date
John Zhen M
c67631fba4 -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
c09805e5a3 -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
61ceb94b8e -Fixed background player activity crashes on receiving update when stopped (lifecycle still active). 2017-10-30 20:58:45 -07:00
John Zhen M
a9c281d0a2 -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
d288b4dc5e -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
356173494b -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
64fceafde1 -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
34ce4b3ffd - 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
0166b99e9a -Improved DeferredMediaSource to build source on IO thread.
-Improved exception handling for player.
2017-10-30 20:58:44 -07:00
John Zhen M
6e94361410 -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
039f2d2754 - 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
68fb6c7fa3 -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
351f87a735 -Added documentations for play queue components. 2017-10-30 20:58:44 -07:00
John Zhen M
76237d6cdc -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
8238869d4f -Fixed unavailable current info when initial stream of playlist fails. 2017-10-30 20:58:43 -07:00
John Zhen M
ec6ed51e03 -Fixed background player notification update NPE. 2017-10-30 20:58:43 -07:00
John Zhen M
747d8e5b0f -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
e694e34bd6 -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
e264d3894a -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
bb03810346 -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
a47eaff2b4 -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
0a53705bfc -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
09b7c165de -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
a6173a9f11 -Added reorder event.
-Improved player blocking.
2017-10-30 20:58:43 -07:00
John Zhen M
ff32bbb95d -Reverted current item removal and update logic.
-Updated external play queue.
2017-10-30 20:58:43 -07:00
John Zhen M
e8375aeb90 -Fixed activity pause and resume lifecycle. 2017-10-30 20:58:43 -07:00
John Zhen M
550e63c1ed -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
2588a07f8e -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
72e17ce696 -Fixed audio focus change not firing. 2017-10-30 20:58:42 -07:00
John Zhen M
f0bc2c374a -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
211b905102 -Added back notification on popup player. 2017-10-30 20:58:42 -07:00
John Zhen M
2ca3f7005c -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
dcccda72ff -Fix restart button not working 2017-10-30 20:58:42 -07:00
John Zhen M
64997dbdbe -Removed redundant track removal after playing.
-Reverted thumbnail loader to use ImageLoader.
2017-10-30 20:58:42 -07:00
John Zhen M
ed3a555b98 -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
fde3a37933 -Added debouncing to index change reactor.
-Fixed repeat mode on background notification.
2017-10-30 20:58:42 -07:00
John Zhen M
7e51695afa -Enable background and popup playlists. 2017-10-30 20:58:42 -07:00
John Zhen M
7e5940c4e9 -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
8ffbb951f4 -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
f493d55e9f -Fix play queue remove.
-Fix player discontinuity refresh.
2017-10-30 20:58:41 -07:00
John Zhen M
f58b0c6959 -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
03f4a81b01 -Revert subscription fragment merge fault 2017-10-30 20:58:41 -07:00
John Zhen M
716e0b8131 -Error processing for failed video during queued playback. 2017-10-30 20:58:41 -07:00
John Zhen M
54a66ae4d4 -Functional playlist using full play queue buffering. 2017-10-30 20:58:41 -07:00
John Zhen M
d386a066df -Added full play queue buffering playback manager. 2017-10-30 20:58:41 -07:00
John Zhen M
5d8086879a -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
20f8c3c262 -Hooking playback manager and play queue into main video player. 2017-10-30 20:58:41 -07:00
John Zhen M
0f6296c9b8 -Added separate events for play queue index removal. 2017-10-30 20:58:40 -07:00
John Zhen M
5180e3055d -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
32c39da15f -Rename playlist in players to play queue. 2017-10-30 20:58:40 -07:00