1. 11 Jan, 2021 14 commits
  2. 08 Jan, 2021 4 commits
  3. 04 Dec, 2020 3 commits
  4. 01 Dec, 2020 1 commit
  5. 30 Nov, 2020 14 commits
  6. 23 Nov, 2020 4 commits
    • Fix ProgressiveDownloader retry logic · 3a8524d0
      RunnableFutureTask is not reusable. Trying to reuse it meant that a
      failure in one doWork() call would cause subsequent download() calls
      to (a) not block until the runnable has finished executing (does not
      apply when using a direct executor), and (b) throw the same failure
      as thrown from the first doWork() call.
      
      This could cause #8078 if the initial failure occurred before the
      content length was resolved. Retries are not blocked on their work
      completing due to (a), and the download would be marked as failed due
      to (b). The work itself could then resolve the content length, which
      causes the stack trace in this issue.
      
      Issue: #8078
      PiperOrigin-RevId: 343498252
      olly committed
    • Re-download failed download in demo app · f39c40ab
      The demo app has two states for downloads, as per DownloadTracker.isDownloaded.
      It's either "downloaded or downloading" (isDownloaded returns true, and the UI
      shows a blue tick) or it's "not downloaded or failed (isDownloaded returns
      false, and the UI does not show a blue tick).
      
      toggleDownload is out of sync in that it treates "failed" as belonging to the
      first state rather than the second. This means tapping on the grey tick in the
      UI in this case appears to be a no-op (tapping it again will make something
      happen).
      
      This change aligns things by making toggleDownload re-download in the case a
      previous download failed. In the future we could consider having three states,
      so failed downloads could be disambiguated properly. Unclear whether it's a
      good complexity/benefit trade-off for the demo app though!
      
      #minor-release
      
      PiperOrigin-RevId: 343464364
      olly committed
    • Fix bug in SampleQueue.discardTo for duplicate timestamps. · 10164d74
      When a stream has duplicate timestamps we currently discard to
      the last sample with the specified discardTo timestamp, but
      it should be the first one to adhere to the method doc and the
      intended usage.
      
      #minor-release
      
      PiperOrigin-RevId: 343458870
      tonihei committed
    • Allow to remove all playlist items · 6edf52b2
      PiperOrigin-RevId: 343437513
      sungsoo committed