
Common houses DataSource as an interface for reading data, but most of the concrete implementations are in ExoPlayer. This means that in practice, if an app wants to use a module that reads using DataSource (e.g. extractor), they may be forced to depend on ExoPlayer as well to get a concrete implementation (e.g. FileDataSource). This change moves the DataSource implementations into common to resolve this. PiperOrigin-RevId: 403222081