package Ġio . github . rs ook ram . medi ap layer Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . google . android . ex op layer 2 . Media Item Ċ import Ġcom . google . android . ex op layer 2 . source . Media Source Ċ import Ġcom . google . android . ex op layer 2 . source . Media Source Factory Ċ import Ġcom . google . android . ex op layer 2 . source . Mer ging Media Source Ċ import Ġcom . google . android . ex op layer 2 . source . Progress ive Media Source Ċ import Ġcom . google . android . ex op layer 2 . source . hls . H ls Media Source Ċ import Ġcom . google . android . ex op layer 2 . upstream . Default DataSource Ċ import Ġcom . google . android . ex op layer 2 . upstream . Default Http DataSource Ċ Ċ private Ġconst Ġval ĠH LS _ MIME _ TYPE Ġ= Ġ" application / vnd . apple . mpeg url " Ċ Ċ fun Ġcreate Media Source ( context : ĠContext , Ġplayback Request : ĠPlay back Request ): ĠMedia Source Ġ{ ĊĠĠĠ Ġval Ġfactory Ġ= Ġcreate Media Source Factory ( context , Ġplayback Request ) ĊĊĠĠĠ Ġval Ġvideo Media Source Ġ= Ġfactory . create Media Source ( Media Item . from Uri ( playback Request . uri )) ĊĠĠĠ Ġif Ġ( playback Request . audio Uri Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvideo Media Source ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn ĠMer ging Media Source ( ĊĠĠĠĠĠĠĠ Ġvideo Media Source , ĊĠĠĠĠĠĠĠ Ġfactory . create Media Source ( Media Item . from Uri ( playback Request . audio Uri )) ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun Ġcreate Media Source Factory ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġplayback Request : ĠPlay back Request , Ċ ): ĠMedia Source Factory Ġ{ ĊĠĠĠ Ġval Ġuser Agent Ġ= Ġplayback Request . headers [" user - agent "] ĊĠĠĠ Ġval Ġhttp DataSource Factory Ġ= ĠDefault Http DataSource . Factory () ĊĠĠĠĠĠĠĠ Ġ. set UserAgent ( userAgent ) ĊĠĠĠĠĠĠĠ Ġ. setDefault Request Properties ( playback Request . headers ) ĊĠĠĠ Ġval ĠdataSource Factory Ġ= ĠDefault DataSource . Factory ( context , Ġhttp DataSource Factory ) ĊĊĠĠĠ Ġreturn Ġif Ġ( playback Request . mime Type Ġ== ĠH LS _ MIME _ TYPE ) Ġ{ ĊĠĠĠĠĠĠĠ ĠH ls Media Source . Factory ( dataSource Factory ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠProgress ive Media Source . Factory ( dataSource Factory ) ĊĠĠĠ Ġ} Ċ } Ċ