public void BuildRenderers(VideoPlayer player)
        {
            var allocator = new DefaultAllocator(BufferSegmentSize);

            // Build the video and audio renderers.
            var bandwidthMeter = new DefaultBandwidthMeter(player.MainHandler, null);
            var dataSource = _uri.Scheme == "rtmp" ? (IDataSource)new RtmpDataSource() : new DefaultUriDataSource(_context, bandwidthMeter, _userAgent);
            var sampleSource = new ExtractorSampleSource(_uri
                , dataSource
                , allocator
                , BufferSegmentCount*BufferSegmentSize);
            var videoRenderer = new MediaCodecVideoTrackRenderer(_context
                , sampleSource
                , MediaCodecSelector.Default
                , (int) VideoScalingMode.ScaleToFit
                , 5000
                , player.MainHandler
                , player
                , 50);
            var audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource
                , MediaCodecSelector.Default
                , null
                , true
                , player.MainHandler
                , player
                , AudioCapabilities.GetCapabilities(_context)
                , (int) Stream.Music);
            var textRenderer = new TextTrackRenderer(sampleSource
                , player
                , player.MainHandler.Looper);

            // Invoke the callback.
            var renderers = new TrackRenderer[VideoPlayer.RendererCount];
            renderers[VideoPlayer.TypeVideo] = videoRenderer;
            renderers[VideoPlayer.TypeAudio] = audioRenderer;
            renderers[VideoPlayer.TypeText] = textRenderer;
            player.OnRenderers(renderers, bandwidthMeter);
        }
 public void BuildRenderers(VideoPlayer player)
 {
     _currentAsyncBuilder = new AsyncRendererBuilder(_context, _userAgent, _url, _drmCallback, player);
     _currentAsyncBuilder.Init();
 }
 public AsyncRendererBuilder(Context context, string userAgent, string url, IMediaDrmCallback drmCallback, VideoPlayer player)
 {
     _context = context;
     _userAgent = userAgent;
     _drmCallback = drmCallback;
     _player = player;
     var parser = new SmoothStreamingManifestParser();
     _manifestFetcher = new ManifestFetcher(url, new DefaultHttpDataSource(userAgent, null), parser);
 }
 public AsyncRendererBuilder(Context context, string userAgent, string url, VideoPlayer player)
 {
     _context = context;
     _userAgent = userAgent;
     _url = url;
     _player = player;
     var parser = new HlsPlaylistParser();
     _playlistFetcher = new ManifestFetcher(url, new DefaultUriDataSource(context, userAgent),
         parser);
 }
 public AsyncRendererBuilder(Context context, string userAgent, string url, IMediaDrmCallback drmCallback, VideoPlayer player)
 {
     _context = context;
     _userAgent = userAgent;
     _drmCallback = drmCallback;
     _player = player;
     var parser = new MediaPresentationDescriptionParser();
     _manifestDataSource = new DefaultUriDataSource(context, userAgent);
     _manifestFetcher = new ManifestFetcher(url, _manifestDataSource, parser);
 }