def __init__( self, controller, parser, media_engine, log_sub_dir='', log_period=0.1, max_buffer_time=60, inactive_cycle=1, initial_level=0, #FIXME reset to TRUE again!! use_persistent_connection=True, #changed by susanna check_warning_buffering=False, stress_test=False): # player components self.controller = controller self.parser = parser self.media_engine = media_engine # log self.logger = None self.log_file = None self.log_dir = 'logs' self.log_sub_dir = log_sub_dir self.log_period = log_period self.log_prefix = '' self.log_comment = '' # self.max_buffer_time = max_buffer_time self.inactive_cycle = inactive_cycle #active control action after inactive_cycle+1 segments # self.use_persistent_connection = use_persistent_connection self.connection = None # self.cur_level = initial_level self.cur_index = 0 self.enable_stress_test = stress_test #flag to enable stress test, switch level every segment cyclically # self.check_warning_buffering = check_warning_buffering #flag to enable check for warning buffering self.rate_calc = RateCalc(period=3.0, alpha=0.0) self.remaining_data = 0 # self.bwe = 0 self.downloaded_bytes = 0 self.downloaded_segments = 0 self.last_fragment_size = 0 self.start_segment_request = -1.0 self.stop_segment_request = -1.0 self.last_downloaded_time = -1.0 self.t_paused = time.time() self.paused_time = 0.0 self.queuedBytes = 0 self.queuedTime = 0.0 # self.proc_stats = ProcessStats() self.prio = 0 #Initialize the parameters passed at the controller after the download of every segment self.feedback = dict(queued_bytes=0, queued_time=0.0, max_buffer_time=self.max_buffer_time, bwe=0.0, level=self.cur_level, max_level=-1, cur_rate=0.0, max_rate=0.0, min_rate=0.0, player_status=0, paused_time=0.0, last_fragment_size=0, last_download_time=0.0, downloaded_bytes=0, fragment_duration=0.0, rates=[]) self.controller.setPlayerFeedback(self.feedback)
def __init__(self, controller, view_controller, parser, media_engine, HMDEmulator, vr, log_sub_dir='', log_period=0.1, max_buffer_time=60, inactive_cycle=1, initial_level=0, initial_view=0, use_persistent_connection=True, check_warning_buffering=True, save_chunks=False, stress_test=False): # player components self.initial_view = initial_view self.n_views = 1 self.controller = controller self.viewController = view_controller self.parser = parser self.media_engine = media_engine # log self.logger = None self.log_file = None self.log_dir = 'logs' self.log_sub_dir = log_sub_dir self.log_period = log_period self.log_prefix = '' self.log_comment = '' self.save_chunks = save_chunks self.chunkFolder = os.getpid() # self.max_buffer_time = max_buffer_time self.inactive_cycle = inactive_cycle #active control action after inactive_cycle+1 segments # self.use_persistent_connection = use_persistent_connection self.connection = None self.last_redirect_host = None # self.conn_pool = ConnectionsPool() # self.cur_level = initial_level self.cur_view = initial_view self.cur_index = 0 self.enable_stress_test = stress_test #flag to enable stress test, switch level every segment cyclically # self.check_warning_buffering = check_warning_buffering #flag to enable check for warning buffering self.rate_calc = RateCalc(period=3.0, alpha=0.0) self.remaining_data = 0 # self.bwe = 0 self.downloaded_bytes = 0 self.downloaded_segments = 0 self.last_fragment_size = 0 self.start_segment_request = -1.0 self.stop_segment_request = -1.0 self.last_downloaded_time = -1.0 self.t_paused = time.time() self.t_experiment_started = time.time( ) #Timestamp marking the beginning of the experiment self.paused_time = 0.0 self.queuedBytes = 0 self.queuedTime = 0.0 # self.proc_stats = ProcessStats() #vr self.HMDEmulator = HMDEmulator self.cur_angles = [0, 0, 0] self.vr = vr #Initialize the parameters passed at the controller after the download of every segment self.feedback = dict( queued_bytes=0, queued_time=0.0, max_buffer_time=self.max_buffer_time, bwe=0.0, level=self.cur_level, max_level=-1, cur_rate=0.0, max_rate=0.0, min_rate=0.0, player_status=0, paused_time=0.0, last_fragment_size=0, last_download_time=0.0, start_segment_request=0.0, stop_segment_request=time.time(), downloaded_bytes=0, fragment_duration=0.0, rates=[], #parameters of the views view_angles=[0.0, 0.0, 0.0], n_views=self.n_views, cur_view=self.cur_view, roi_angle=120, #Set of yaw angles associated to the different views (angular position of the ROI center of the i-th view) delta=20, yaw_angles=self.getYawAngles(1), threshold_angle=180) self.controller.setPlayerFeedback(self.feedback)