package tv.danmaku.media; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import tv.danmaku.media.resource.VodIndex; public class MediaResource implements Parcelable { private static final String BUNDLE_HIGH_QUAL_GROUP = "high_qual_group"; private static final String BUNDLE_LOW_QUAL_GROUP = "low_qual_group"; private static final String BUNDLE_VOD_INDEX = "vod_index"; // 优先级 1st > mrl > 2nd // new params public MediaResourceGroup mHighQualGroup; public MediaResourceGroup mLowQualGroup; // 点播列表, 新浪和优酷源, 第三方播放器, MediaListPlayer用 // TODO deprecate this field public VodIndex mVodIndex; // vod解析后的vod列表 public MediaResource() { mHighQualGroup = new MediaResourceGroup(); mLowQualGroup = new MediaResourceGroup(); } // for Parcelable @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { Bundle bundle = new Bundle(); bundle.putParcelable(BUNDLE_HIGH_QUAL_GROUP, mHighQualGroup); bundle.putParcelable(BUNDLE_LOW_QUAL_GROUP, mLowQualGroup); bundle.putParcelable(BUNDLE_VOD_INDEX, mVodIndex); dest.writeBundle(bundle); } private MediaResource(Parcel in) { Bundle bundle = in.readBundle(MediaResource.class.getClassLoader()); mHighQualGroup = bundle.getParcelable(BUNDLE_HIGH_QUAL_GROUP); mLowQualGroup = bundle.getParcelable(BUNDLE_LOW_QUAL_GROUP); mVodIndex = bundle.getParcelable(BUNDLE_VOD_INDEX); } public static final Parcelable.Creator<MediaResource> CREATOR = new Parcelable.Creator<MediaResource>() { public MediaResource createFromParcel(Parcel in) { return new MediaResource(in); } public MediaResource[] newArray(int size) { return new MediaResource[size]; } }; }