private IDataSourceFactory GetHttpFactory()
        {
            var bandwithMeter = new DefaultBandwidthMeter();
            var httpFactory   = new DefaultHttpDataSourceFactory(ExoPlayerUtil.GetUserAgent(this, ApplicationInfo.Name), bandwithMeter);

            return(new HttpSourceFactory(httpFactory, RequestHeaders));
        }
 public SmoothStreamingRendererBuilder(Context context, string userAgent, string url, IMediaDrmCallback drmCallback)
 {
     _context     = context;
     _userAgent   = userAgent;
     _url         = ExoPlayerUtil.ToLowerInvariant(url).EndsWith("/manifest") ? url : url + "/Manifest";
     _drmCallback = drmCallback;
 }
        public byte[] ExecuteKeyRequest(UUID uuid, MediaDrm.KeyRequest request)
        {
            var url = request.DefaultUrl;

            if (string.IsNullOrEmpty(url))
            {
                url = PlayreadyTestDefaultUri;
            }
            return(ExoPlayerUtil.ExecutePost(url, request.GetData(), KeyRequestProperties));
        }
        private IMediaSource GetSourceByUrl(string url)
        {
            var bandwithMeter    = new DefaultBandwidthMeter();
            var httpFactory      = new DefaultHttpDataSourceFactory(ExoPlayerUtil.GetUserAgent(this, ApplicationInfo.Name), bandwithMeter);
            var factory          = new HttpSourceFactory(httpFactory, RequestHeaders);
            var extractorFactory = new DefaultExtractorsFactory();
            var uri = Android.Net.Uri.Parse(url);

            return(new ExtractorMediaSource(uri
                                            , factory
                                            , extractorFactory, null, null));
        }
Пример #5
0
        private VideoPlayer.IRendererBuilder GetRendererBuilder()
        {
            var userAgent = ExoPlayerUtil.GetUserAgent(this, "ExoPlayerDemo");

            switch (_contentType)
            {
            case TypeSs:
                return(new SmoothStreamingRendererBuilder(this, userAgent, _contentUri.ToString(),
                                                          new SmoothStreamingTestMediaDrmCallback()));

            case TypeDash:
                return(new DashRendererBuilder(this, userAgent, _contentUri.ToString(),
                                               new WidevineTestMediaDrmCallback(_contentId)));

            case TypeHls:
                return(new HlsRendererBuilder(this, userAgent, _contentUri.ToString()));

            case TypeOther:
                return(new ExtractorRendererBuilder(this, userAgent, _contentUri));

            default:
                throw new IllegalStateException("Unsupported type: " + _contentType);
            }
        }
        public byte[] ExecuteProvisionRequest(UUID uuid, MediaDrm.ProvisionRequest request)
        {
            var url = request.DefaultUrl + "&signedRequest=" + System.Text.Encoding.ASCII.GetString(request.GetData());

            return(ExoPlayerUtil.ExecutePost(url, null, null));
        }