@@ -37,19 +37,26 @@ function DVBReporting(config) {
3737 let instance ;
3838
3939 let context = this . context ;
40- let metricSerialiser = MetricSerialiser ( context ) . getInstance ( ) ;
41- let randomNumberGenerator = RNG ( context ) . getInstance ( ) ;
40+ let metricSerialiser ,
41+ randomNumberGenerator ,
42+ reportingPlayerStatusDecided ,
43+ isReportingPlayer ,
44+ reportingUrl ,
45+ rangeController ;
4246
4347 let USE_DRAFT_DVB_SPEC = true ;
44- let isReportingPlayer = false ;
45- let reportingPlayerStatusDecided = false ;
46- let reportingUrl = null ;
47- let rangeController = null ;
4848 let allowPendingRequestsToCompleteOnReset = true ;
4949 let pendingRequests = [ ] ;
5050
5151 const metricsConstants = config . metricsConstants ;
5252
53+ function setup ( ) {
54+ metricSerialiser = MetricSerialiser ( context ) . getInstance ( ) ;
55+ randomNumberGenerator = RNG ( context ) . getInstance ( ) ;
56+
57+ resetInitialSettings ( ) ;
58+ }
59+
5360 function doGetRequest ( url , successCB , failureCB ) {
5461 let req = new XMLHttpRequest ( ) ;
5562 const oncomplete = function ( ) {
@@ -159,16 +166,20 @@ function DVBReporting(config) {
159166 }
160167 }
161168
169+ function resetInitialSettings ( ) {
170+ reportingPlayerStatusDecided = false ;
171+ isReportingPlayer = false ;
172+ reportingUrl = null ;
173+ rangeController = null ;
174+ }
175+
162176 function reset ( ) {
163177 if ( ! allowPendingRequestsToCompleteOnReset ) {
164178 pendingRequests . forEach ( req => req . abort ( ) ) ;
165179 pendingRequests = [ ] ;
166180 }
167181
168- reportingPlayerStatusDecided = false ;
169- isReportingPlayer = false ;
170- reportingUrl = null ;
171- rangeController = null ;
182+ resetInitialSettings ( ) ;
172183 }
173184
174185 instance = {
@@ -177,6 +188,8 @@ function DVBReporting(config) {
177188 reset : reset
178189 } ;
179190
191+ setup ( ) ;
192+
180193 return instance ;
181194}
182195
0 commit comments