# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/brian/WorkSpace/Android/SDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

-dontpreverify
-dontoptimize
-dontusemixedcaseclassnames
-allowaccessmodification
-optimizationpasses 7
-verbose
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

#mgtvplayer listener and callback
-keep class com.hunantv.media.player.MgtvPlayerListener {*;}
-keep class com.hunantv.media.player.MgtvPlayerListener$* {*;}
-keepclassmembers class com.hunantv.media.player.MgtvPlayerListener$* {*;}
#mgtvplayer api
-keep class com.hunantv.media.player.MgtvMediaPlayer {*;}
-keep class com.hunantv.media.player.MgtvMediaPlayer* {*;}
-keepclassmembers class com.hunantv.media.player.MgtvMediaPlayer* {*;}
#mgtvplayer renderview interface
-keep class com.hunantv.media.player.IMgtvRenderView {*;}
-keep class com.hunantv.media.player.IMgtvRenderView* {*;}
-keepclassmembers class com.hunantv.media.player.IMgtvRenderView* {*;}

-keep class com.hunantv.media.player.MgtvByteBufferPlayerDataSource {*;}
-keep class com.hunantv.media.player.MgtvByteBufferPlayerDataSource* {*;}
-keepclassmembers class com.hunantv.media.player.MgtvByteBufferPlayerDataSource* {*;}

-keep class com.hunantv.media.player.MgtvPlayerDataSource {*;}
-keep class com.hunantv.media.player.MgtvPlayerDataSource* {*;}
-keepclassmembers class com.hunantv.media.player.MgtvPlayerDataSource* {*;}

#mgtvplayer renderview api
-keep class com.hunantv.media.player.MgtvRenderView {*;}
#mgtvplayer helper tools
-keep class  com.hunantv.media.player.helper.* {*;}
#mgtvplayer core native
-keep class com.hunantv.media.player.libnative.* {*;}

-keep class com.hunantv.media.report.entity.* {*;}

-keep class com.hunantv.media.report.ReportParams* {*;}
-keepclassmembers class com.hunantv.media.report.ReportParams* {*;}

-keep class com.hunantv.media.widget.* {*;}
-keep class com.hunantv.media.widget.*.* {*;}

-keep class com.hunantv.media.player.statistic.* {*;}
-keep class com.hunantv.media.player.statistic.*.* {*;}

-keep class com.hunantv.media.player.MgtvPlayerLogger {*;}
-keep class com.hunantv.media.player.MgtvPlayerLogger* {*;}
-keepclassmembers class com.hunantv.media.player.MgtvPlayerLogger* {*;}

-keep class com.hunantv.media.source.* {*;}
-keep class com.hunantv.media.source.jni.* {*;}

-keep class com.hunantv.media.audio.MgtvAudioPlayer {*;}
-keep class com.hunantv.media.audio.MgtvAudioPlayer* {*;}
-keepclassmembers class com.hunantv.media.audio.MgtvAudioPlayer* {*;}
-keep class com.hunantv.media.player.loader.ImgoLibLoader {*;}

-keep class com.hunantv.media.player.loader.ImgoLibLoader* {*;}
-keepclassmembers class com.hunantv.media.player.loader.ImgoLibLoader* {*;}

-keep class com.hunantv.media.player.utils.* {*;}

-keep class com.hunantv.media.recoder.* {*;}
-keep class com.hunantv.media.player.utils.ThreadUtil {*;}
-keep class com.hunantv.media.player.utils.ThreadUtil* {*;}
-keepclassmembers class com.hunantv.media.player.utils.ThreadUtil* {*;}

-keep class com.hunantv.media.player.subtitle.MediaFormat {*;}
-keep class com.hunantv.media.player.subtitle.MediaFormat* {*;}
-keepclassmembers class com.hunantv.media.player.subtitle.MediaFormat* {*;}

-keep class com.hunantv.media.player.subtitle.SubtitleSource {*;}
-keep class com.hunantv.media.player.subtitle.SubtitleSource* {*;}
-keepclassmembers class com.hunantv.media.player.subtitle.SubtitleSource* {*;}


-keep class com.hunantv.media.player.subtitle.SubtitleConfig {*;}
-keep class com.hunantv.media.player.subtitle.SubtitleConfig* {*;}
-keepclassmembers class com.hunantv.media.player.subtitle.SubtitleConfig* {*;}

-keep class com.hunantv.media.player.datasource.p2p.* {*;}

-keep class com.hunantv.media.p2p.* {*;}

-keep class com.hunantv.media.utils.* {*;}
-keep class com.hunantv.media.utils.LocalHelper* {*;}
-keepclassmembers class com.hunantv.media.utils.LocalHelper* {*;}

-keep class com.hunantv.media.config.** {*;}

-keep class com.hunantv.media.drm.** { *;}

-keep class com.intertrust.wasabi.** { *;}

-keep class com.hunantv.media.gif.** {*;}

-keep class com.hunantv.media.player.MgtvMediaSource {*;}
-keep class com.hunantv.media.player.MgtvMediaSource* {*;}
-keepclassmembers class com.hunantv.media.player.MgtvMediaSource* {*;}

-keep class com.hunantv.media.player.smooth.* {*;}

-keep class com.hunantv.media.global.MgtvPlayerGlobalConfig {*;}
-keep class com.hunantv.media.global.MgtvPlayerGlobalConfig* {*;}
-keepclassmembers class com.hunantv.media.global.MgtvPlayerGlobalConfig* {*;}

-keep class com.hunantv.media.global.MgtvPlayerCapabilities {*;}
-keep class com.hunantv.media.global.MgtvPlayerCapabilities* {*;}
-keepclassmembers class com.hunantv.media.global.MgtvPlayerCapabilities* {*;}

-keep class com.hunantv.media.alpha.* {*;}

-keep class com.hunantv.media.player.pragma.* {*;}
-keep class com.hunantv.media.global.* {*;}
-keep class com.mgtv.easydatasource.* {*;}

-keep class com.hunantv.media.player.flow.* {*;}
-keep class com.hunantv.media.player.flow.entity.* {*;}