Tubitv / TubiPlayer

A media streaming video player based on ExoPlayer from google, with convenience methods for ad supported content
MIT License
95 stars 24 forks source link

New DRM PR to new Tubi master branch #83

Closed hm1113 closed 5 years ago

hm1113 commented 5 years ago

Now all player related logic is centralized in PlayerContainer

Major changes:

Now both mobile and TV will only use one player instance Flow change, coupled MediaSource with player. Now based on content, we dynamically create MediaSource first then create player instance. DRM support: basically DRM requires DRM session and this session is not reusable between different content. For example, when switch back from ads to movie, we need open new DRM session. So player is refactored to take care of this automatically. DRM fallback: because Android DRM list API is not reliable at all, we have to add video resource fallback. Basically server will send us a list of video resource, we'll try them all until either we get a playable content or we get a non-DRM content. Since this is a pretty big change, we'll need a full test on player related stuff.