1. 02 May, 2016 1 commit
  2. 28 Apr, 2016 1 commit
  3. 17 Apr, 2016 1 commit
  4. 06 Apr, 2016 1 commit
  5. 21 Mar, 2016 1 commit
    • Benjamin Adolphi's avatar
      tvOS: Fixed bug when restoring the focused cell in the server browsing view · af3c735d
      Benjamin Adolphi authored
      When the collection view of the server browsing view controller is appearing, it will in some cases try to reload its data. If this happens depends on the server browser implementation. Some server browsers will trigger an update (VLCMedia, Plex, UPnP and HTTP) and some won't (FTP). When this happens, all the cells in the collection view are being recycled and the view is repopulated with cells. After that, the tvOS focus engine will give focus to the collection view, which will then restore the previously selected cell. Unfortunately, this is implemented by Apple in such a way that the focus engine will pass the cell to select to the UICollectionView class, which will then select the same cell again. The problem here is that the cell recycling mechanism does not guarantee that the same cell is used for the same thing. This usually leads to the selection of the wrong cell when the view comes back into the foreground and an update was triggered.
      
      I my opinion, this is an Apple bug. The UICollectionView class should be able to select the correct cell after its data has been reloaded. But since this is the current situation, we need to work around the problem to fix the issue. One way to do this would be to do the same thing as the FTP server browser and not update when the view reappears. However, this decreases flexibility and causes a dependency of the the server browsers on UI problems.
      
      Another way to solve this is to use the tvOS focus engine. The idea is to select the correct cell ourselves whenever the collection view is gaining focus. In addition, we prevent the wrong selection of the cell that the UICollectionView class wants to select by telling the focus engine that only the cell we want to switch to is focusable during the time when the collection view gains focus. This commit implements that approach.
      Signed-off-by: Felix Paul Kühne's avatarFelix Paul Kühne <fkuehne@videolan.org>
      af3c735d
  6. 03 Mar, 2016 2 commits
    • Felix Paul Kühne's avatar
      Add S/PDIF option · aef26eb5
      Felix Paul Kühne authored
      (cherry picked from commit 8249ac00)
      aef26eb5
    • Benjamin Adolphi's avatar
      Update transport bar when it becomes visible · ca408dd9
      Benjamin Adolphi authored
      The transport bar is being updated whenever the playback position has changed and when the transport bar is visible. This causes an old position being displayed when the playback is paused and the transport bar is not visible at that time. A previous commit fixed that problem by adding another update when the playback is paused. But this is not enough to fix all cases where the old value could be displayed. If the playback state is changing to buffering because there is a switch between two media, the bar is also not being updated. And there are probably more cases where this happens. This commit therefore takes a more general approach to solve the problem by updating the transport bar whenever it becomes visible.
      Signed-off-by: Felix Paul Kühne's avatarFelix Paul Kühne <fkuehne@videolan.org>
      ca408dd9
  7. 08 Feb, 2016 2 commits
  8. 04 Feb, 2016 1 commit
    • Benjamin Adolphi's avatar
      tvOS: Fixed transport bar not being updated when playback is paused · 1dd7fde4
      Benjamin Adolphi authored
      On tvOS, when the playback is paused, the transport bar is not being updated. This is because the playbackPositionUpdated callback in the VLCFullscreenMovieTVViewController class only updates the transport bar in case it is visible. This makes sense as it does not need to be updated in case it is not visible. However, in case of the playback being paused, the mediaPlayerStateChanged callback of the VLCFullscreenMovieTVViewController class, which handles showing the transport bar, is called after the last playbackPositionUpdated callback. Because of that, the transport bar is displayed but it displays the old position of when the transport bar was last hidden.
      
      This commit adds an additional update of the transport bar in case the playback is being paused.
      Signed-off-by: Felix Paul Kühne's avatarFelix Paul Kühne <fkuehne@videolan.org>
      1dd7fde4
  9. 28 Jan, 2016 3 commits
  10. 18 Jan, 2016 4 commits
  11. 14 Jan, 2016 10 commits
  12. 06 Jan, 2016 10 commits
  13. 28 Dec, 2015 3 commits