package Ġtech . ct aw ave . exo App . store . reducers Ċ Ċ import Ġtech . ct aw ave . exo App . store . actions . Player Actions Ċ import Ġtech . ct aw ave . exo App . store . state . Player State Ċ Ċ fun Ġplayer Reducer ( state : ĠPlayer State , Ġaction : ĠAny ): ĠPlayer State Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current Bit rate Ġ-> Ġstate . copy ( current Bit rate Ġ= Ġaction . bit rate ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current Playlist Uri Ġ-> Ġstate . copy ( current Playlist Uri Ġ= Ġaction . uri ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current Buffer Ġ-> Ġstate . copy ( current Buffer Ġ= Ġaction . buffer ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current Measured Through put Ġ-> Ġstate . copy ( current Measured Through put Ġ= Ġ Ġaction . meas ured Through put ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current Playback Rate Ġ-> Ġstate . copy ( current Playback Rate Ġ= Ġaction . playback Rate ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Stream Type Ġ-> Ġstate . copy ( current Stream Type Ġ= Ġaction . stream Type ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Top Bit rate Ġ-> Ġstate . copy ( top Bit rate Ġ= Ġaction . top Bit rate ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current Play head Ġ-> Ġstate . copy ( current Play head Ġ= Ġaction . play head ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Next Object Request Ġ-> Ġstate . copy ( next Object Request Ġ= Ġaction . next Object Request ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Next Range Request Ġ-> Ġstate . copy ( next Range Request Ġ= Ġaction . next Range Request ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Actions . Update Current F ram erate Ġ-> Ġstate . copy ( current F ram erate Ġ= Ġaction . fram erate ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġstate ĊĠĠĠ Ġ} Ċ } Ċ