Commit graph

2279 commits

Author SHA1 Message Date
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
21d42c92e5 -Reduced text size for hold to append tip.
-Added options to turn off hold to append tip.
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