
setSurface only sets the output surface on the codec if the renderer is enabled or started. This was fine in the past because the codec was always null in other states, however the recent codec reuse work means this is no longer the case. The output surface should always be set if the codec is non-null. If setting the surface requires releasing the codec instance, we should only instantiate the new instance if enabled or started. This is in line with what onDisabled does if flushing requires releasing the codec ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=217676434
ExoPlayer library
The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.