1. 14 Jan, 2019 8 commits
    • Don't forget isSeekable in ExtractorMediaSource. · 86637fac
      We currently forget whether a source is seekable at re-preparation. This was
      implemented intentionally this way under the assumption that we really can't seek
      until we have loaded the seek map again. However, seek operations are only
      allowed after a media period is prepared. So there is no harm in remembering
      whether a source is seekable.
      
      This problem currently prevents reusing ClippingMediaSources with
      ExtractorMediaSource and a non-zero start clip position.
      
      Issue: #5351
      PiperOrigin-RevId: 229169441
      tonihei committed
    • Blacklist OMX.SEC.mp3.dec for more devices · f44fc542
      Issue: #4519
      PiperOrigin-RevId: 229145790
      andrewlewis committed
    • DRM: Pass sessionId rather than MediaCrypto · 1f03093d
      ExoMediaCrypto.requiresSecureDecoderComponent() is removed, and
      FrameworkMediaCrypto.forceAllowInsecureDecoderComponents is made
      public to allow determining whether a secure decoder is required
      to be implemented in MediaCodecRenderer.
      
      PiperOrigin-RevId: 228909771
      olly committed
    • Fix release of DRM sessions · 2d30d667
      There were some edge cases in which we'd forget to release DRM
      sessions. For example if we read a format and acquired a
      pendingDrmSession (in onInputFormatChanged), then immediately
      read another format and overwrote pendingDrmSession, we'd
      forget to release the one that's been overwritten.
      
      This change hopefully makes release much clearer. We keep a list
      of all drm sessions we're currently holding. Whenever we update
      either drmSession or pendingDrmSession, we release any other
      sessions that are in the list.
      
      PiperOrigin-RevId: 228905465
      olly committed
    • Call Listener methods on the thread started RequirementsWatcher · 71d4f394
      PiperOrigin-RevId: 228701917
      eguven committed
    • Add DownloadIndex and DefaultDownloadIndex · 92bec21c
      DownloadIndex will be used to store and query DownloadStates.
      
      PiperOrigin-RevId: 228673766
      eguven committed
    • Add missing call to timeline.getWindow. · 637b52ae
      The window object is used without being filled with data. This used to work
      well for most cases as the same live stream is sending regular updates and the
      first update is almost never used if it's not the first item in a playlist.
      
      It causes problems when the first timeline update of a live stream is actually
      used for playback (e.g. when the live stream is lazily prepared in a playlist
      and played first).
      
      PiperOrigin-RevId: 228530232
      tonihei committed
    • Update README and dev guide with Java 8 config for Kotlin. · 8792c20b
      Setting the target conpatibility only seems to work for Java. Added the
      equivalent Kotlin config options to the docs.
      
      Issue:#5276
      PiperOrigin-RevId: 228482496
      tonihei committed
  2. 08 Jan, 2019 32 commits