package Ġchar lie . lap lac ian . source . essential Ċ Ċ import Ġchar lie . lap lac ian . I 1 8 n Ċ import Ġchar lie . lap lac ian . source .* Ċ import Ġchar lie . lap lac ian . stream . Track Stream Ċ import Ġchar lie . lap lac ian . stream . essential . File Track Stream Ċ import Ġjava . io . File Ċ import Ġjava . io . FileNotFoundException Ċ Ċ class ĠFile Source : ĠLocal Track Source Ġ{ ĊĠĠĠ Ġprivate Ġval ĠMEM ORY _ BUFFER _ THRESHOLD : ĠLong Ġ= Ġ 7 5 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 Ġ// Ġ 7 5 ĠMB ĊĊĠĠĠ Ġoverride Ġfun Ġget Metadata (): ĠTrack Source Metadata Ġ= ĠFile Source Metadata ĊĊĠĠĠ Ġoverride Ġfun Ġstream From ( source : ĠTrack Source Info ): ĠTrack Stream Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( source Ġis ĠFile Track Source Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsource . getPath (). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! exists ()) Ġthrow ĠExp ired Local Track Stream Info ( FileNotFoundException ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isFile ) Ġthrow ĠExp ired Local Track Stream Info () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar lie . lap lac ian . stream . essential . File Track Stream ( to Path ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Track Source Info Exception () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠFile Source Metadata : ĠTrack Source Metadata Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ= ĠI 1 8 n . getString (" source . essential . file Source . name ") ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription (): ĠString Ġ= ĠI 1 8 n . getString (" source . essential . file Source . description ") ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Version (): ĠString Ġ= Ġ" rv 1 " ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Version ID (): ĠInt Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Supported Track Infos (): ĠArray < Class < out ĠTrack Source Info >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArray ( 1 , Ġ{ ĠFile Track Source Info :: class . java Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠFile Track Source Info ( private Ġval Ġpath : ĠFile ): ĠTrack Source Info Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Source Class (): ĠClass < out ĠTrack Source > Ġ= ĠFile Source :: class . java ĊĊĠĠĠ Ġfun ĠgetPath (): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpath ĊĠĠĠ Ġ} Ċ } Ċ