def parallel_show_image(filename,size,op, timestamp=None, mute=True, divergence=None, force='N',full='N'): global videowall_dict global unique_id global frame_duration global videowall_time #global frame_number #global movie_timestamp val=0 #print (" agent ", unique_id, " entra en show image TS:", timestamp) #__CLOUDBOOK:BEGINREMOVE__ # ------------------------------- unique_id=int(unique_id) unique_id+=1 if (unique_id==size*size+10): unique_id=10 unique_id=str(unique_id) #__CLOUDBOOK:ENDREMOVE__ # comprobamos si nos han invocado ya # en modo no cloudbook no tiene sentido ojo. """ if (frame!=None and op=="next_frame"): if (frame_number==frame*unique_id): print ("invocado ya ",unique_id, frame_number, frame) return else: frame_number=frame """ #print (videowall_dict) my_portion=videowall_dict[str(unique_id)] #print ("I am agent:",unique_id,"showing portion: ",my_portion) t,val=simpleMedia.show(filename,my_portion,size,op,unique_id, timestamp,mute,divergence, force,full) #print ("agent", unique_id, "val is ",val, "t is ",t) if (t!=0): videowall_time[str(unique_id)]=t # el movietimestamp deberia ser el minimo pero cojo el max # de lo contrario la pelicula va mas despacio pues puede coger a un pausado # en live video curiosamente debe ser al reves # estrategia MIN: hay que pausar a los adelantados # estrategia MAX: hay que pasar mas fps en los atrasados #movie_timestamp=min(movie_timestamp,t) #if val!=0: #print ("hey", val, " framedur:",frame_duration) try: #val puede ser un string, como "eof" o "pause" frame_duration=max(val, frame_duration) # biggest of all screens ( each frame starts at -1) except: #estamos en pause o eof if val=='eof': frame_duration=1000000 else: # pause frame_duration=0
def parallel_show_image3(filename,size,op, timestamp=None, mute=True, divergence=None, force='N',full='N', video_dict=None,delay=0): global unique_id # esta es non shared global videowall_time # necesaria para saber en que t queda cada player val=0 #print (" agent ", unique_id, " entra en show image TS:", timestamp) #__CLOUDBOOK:BEGINREMOVE__ # ------------------------------- unique_id=int(unique_id) unique_id+=1 if (unique_id==size*size+10): unique_id=10 unique_id=str(unique_id) #__CLOUDBOOK:ENDREMOVE__ my_portion=video_dict[str(unique_id)] #print ("I am agent:",unique_id,"showing portion: ",my_portion, " delay:", delay) #sleep depending when is called time.sleep(delay) t,val=simpleMedia.show(filename,my_portion,size,op,unique_id, timestamp,mute,divergence, force,full) #print ("agent", unique_id, "val is ",val, "t is ",t) if (t!=0): videowall_time[str(unique_id)]=t if val=='eof': videowall_time[str(unique_id)]=-1 else: pass
def parallel_show_image2(filename, size, op, timestamp=None, mute=True, divergence=None, force='N', full='N', video_dict=None): #global videowall_dict #v2 global unique_id # esta es non shared #global frame_duration # necesaria para detectar el eof global videowall_time # necesaria para saber en que t queda cada player #global frame_number #global movie_timestamp # v2 val = 0 #print (" agent ", unique_id, " entra en show image TS:", timestamp) #__CLOUDBOOK:BEGINREMOVE__ # ------------------------------- unique_id = int(unique_id) unique_id += 1 if (unique_id == size * size + 10): unique_id = 10 unique_id = str(unique_id) #__CLOUDBOOK:ENDREMOVE__ #my_portion=videowall_dict[str(unique_id)] my_portion = video_dict[str(unique_id)] #print ("I am agent:",unique_id,"showing portion: ",my_portion) t, val = simpleMedia.show(filename, my_portion, size, op, unique_id, timestamp, mute, divergence, force, full) #print ("agent", unique_id, "val is ",val, "t is ",t) if (t != 0): videowall_time[str(unique_id)] = t # el movietimestamp deberia ser el minimo pero cojo el max # de lo contrario la pelicula va mas despacio pues puede coger a un pausado # en live video curiosamente debe ser al reves # estrategia MIN: hay que pausar a los adelantados # estrategia MAX: hay que pasar mas fps en los atrasados #me lo ahorro v2 #movie_timestamp=min(movie_timestamp,t) #if val!=0: #print ("hey", val, " framedur:",frame_duration) if val == 'eof': #frame_duration=1000000 videowall_time[str(unique_id)] = -1 else: # pause pass #frame_duration=0 """