
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
60 lines
3.8 KiB
Plaintext
60 lines
3.8 KiB
Plaintext
# Proguard rules specific to the core module.
|
|
|
|
# Constructors accessed via reflection in DefaultRenderersFactory
|
|
-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
|
|
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer {
|
|
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegVideoRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegVideoRenderer {
|
|
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
|
}
|
|
|
|
# Constructors accessed via reflection in DefaultDownloaderFactory
|
|
-dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader
|
|
-keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader {
|
|
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader
|
|
-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader {
|
|
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
|
|
-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader {
|
|
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
|
}
|
|
|
|
# Constructors accessed via reflection in DefaultMediaSourceFactory
|
|
-dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory
|
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory {
|
|
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory
|
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory {
|
|
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory
|
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory {
|
|
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
|
}
|
|
-dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory
|
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory {
|
|
<init>();
|
|
}
|