Advertisement
akamad007

cam

Mar 22nd, 2015
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 KB | None | 0 0
  1. from PyQt4 import QtCore
  2. import gst
  3.  
  4. class camThread(QtCore.QThread):
  5.            
  6.     def __init__(self,windowId):
  7.         QtCore.QThread.__init__(self)    
  8.         self.windowId =windowId                                  
  9.         self.player = gst.parse_launch("udpsrc port=5000 !  application/x-rtp, encoding-name=H264, payload=96 !  rtph264depay ! h264parse ! ffdec_h264 ! autovideosink")                            
  10.         bus = self.player.get_bus()
  11.         bus.add_signal_watch()
  12.         bus.enable_sync_message_emission()
  13.        
  14.         bus.connect("sync-message::element", self.on_sync_message)  
  15.         self.bus = bus    
  16.        
  17.  
  18.  
  19.     def on_sync_message(self, bus, message):
  20.         print "akash 123"
  21.         if message.structure is None:
  22.             return
  23.         message_name = message.structure.get_name()
  24.         if message_name == "prepare-xwindow-id":
  25.             win_id = self.windowId
  26.             assert win_id
  27.             imagesink = message.src
  28.             imagesink.set_property("force-aspect-ratio", True)
  29.             imagesink.set_xwindow_id(win_id)              
  30.            
  31.     def run(self):                
  32.         self.player.set_state(gst.STATE_PLAYING)
  33.         msg = self.bus.timed_pop_filtered(gst.CLOCK_TIME_NONE,
  34.                                      gst.MESSAGE_ERROR | gst.MESSAGE_EOS)                
  35.         self.flag = True
  36.         while(True):
  37.             if(self.flag==False):              
  38.                 break        
  39.          
  40.     def quit(self):
  41.         self.flag = False
  42.         self.player.set_state(gst.STATE_NULL)
  43.        
  44.         #self.cap.release()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement