Changeset 872

Show
Ignore:
Timestamp:
06/10/07 12:28:08 (2 years ago)
Author:
lilo_booter
Message:

+ Server side queuing enhancements (part 1) - notification of queue changes via status and corrections to queue reporting/disposal

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/jahtools/jbatch/jbatch_server.py

    r871 r872  
    8484                self.playing = False 
    8585                self.checked = False 
    86                 self.id = 0 
     86                self.id_clip = 0 
     87                self.id_queue = 0 
    8788                self.current_input = [ ] 
    8889                self.input = None 
     
    9394                while self.running: 
    9495                        while self.running and len( self.queue ) > 0: 
    95                                 self.id += 1 
     96                                self.id_queue += 1 
     97                                self.id_clip += 1 
    9698                                pos = self.position 
    9799                                input = self.queue.pop( 0 ) 
     
    233235 
    234236        def drop_all( self, **args ): 
    235                 self.queue = [] 
    236                 self.rpn.stack = [] 
     237                self.not_empty.acquire( ) 
     238                while len( self.queue ) > 0: 
     239                        media = self.queue.pop( ) 
     240                        self.rpn.deposit( media ) 
     241                self.rpn.clear( **args ) 
     242                self.id_queue += 1 
     243                self.not_empty.release( ) 
    237244 
    238245        def current( self, **args ): 
     
    269276                                if input is not None: 
    270277                                        self.not_empty.acquire( ) 
     278                                        self.id_queue += 1 
    271279                                        self.queue.append( input ) 
    272280                                        self.not_empty.release( ) 
     
    347355 
    348356        def info( self ): 
    349                 return "%d %d %d %d %d %d" % ( self.speed, self.position, self.length, self.fps_num, self.fps_den, self.id ) 
     357                return "%d %d %d %d %d %d %d" % ( self.speed, self.position, self.length, self.fps_num, self.fps_den, self.id_clip, self.id_queue ) 
    350358 
    351359        def send_info( self, **args ): 
     
    416424 
    417425        def query_queue( self, **args ): 
    418                 args[ "socket" ].sendall( str( self.queue ) + "\n" ) 
     426                for media in self.queue: 
     427                        args[ "socket" ].sendall( self.dump( media ) ) 
     428                        args[ "socket" ].sendall( "\n" ) 
    419429 
    420430        def query_stack( self, **args ):