Esempio n. 1
0
 def queue_overrun(self, *args):
     ltime = int(self.queue.get_property("current-level-time")/MS_TO_NS)
     self.queue_state = "overrun"
     #no overruns for the first 2 seconds:
     elapsed = time.time()-self.start_time
     if elapsed<2.0 or ltime<(QUEUE_TIME/MS_TO_NS/2*75/100):
         debug("sound sink queue overrun ignored: level=%s, elapsed time=%.1f", ltime, elapsed)
         return
     debug("sound sink queue overrun: level=%s", ltime)
     self.overruns += 1
     self.emit("overrun", ltime)
Esempio n. 2
0
 def add_data(self, data, metadata=None):
     debug("sound sink: adding %s bytes, %s", len(data), metadata)
     if self.src:
         buf = gst.Buffer(data)
         #buf.size = size
         #buf.timestamp = timestamp
         #buf.duration = duration
         #buf.offset = offset
         #buf.offset_end = offset_end
         #buf.set_caps(gst.caps_from_string(caps))
         r = self.src.emit("push-buffer", buf)
         if r != gst.FLOW_OK:
             log.error("push-buffer error: %s", r)
Esempio n. 3
0
 def add_data(self, data, metadata=None):
     debug("sound sink: adding %s bytes, %s", len(data), metadata)
     if self.src:
         buf = gst.Buffer(data)
         #buf.size = size
         #buf.timestamp = timestamp
         #buf.duration = duration
         #buf.offset = offset
         #buf.offset_end = offset_end
         #buf.set_caps(gst.caps_from_string(caps))
         r = self.src.emit("push-buffer", buf)
         if r!=gst.FLOW_OK:
             log.error("push-buffer error: %s", r)
Esempio n. 4
0
 def add_data(self, data, metadata=None):
     #debug("sound sink: adding %s bytes to %s, metadata: %s, level=%s", len(data), self.src, metadata, int(self.queue.get_property("current-level-time")/MS_TO_NS))
     if not self.src:
         return
     buf = gst.Buffer(data)
     d = 10*MS_TO_NS
     if metadata and False:
         ts = metadata.get("timestamp")
         if ts is not None:
             buf.timestamp = ts
         d = metadata.get("duration")
         if d is not None:
             buf.duration = d
     debug("add_data(..) queue_state=%s", self.queue_state)
     self.push_buffer(buf)
Esempio n. 5
0
 def push_buffer(self, buf):
     #buf.size = size
     #buf.timestamp = timestamp
     #buf.duration = duration
     #buf.offset = offset
     #buf.offset_end = offset_end
     #buf.set_caps(gst.caps_from_string(caps))
     r = self.src.emit("push-buffer", buf)
     if r!=gst.FLOW_OK:
         log.error("push-buffer error: %s", r)
         self.emit('error', "push-buffer error: %s" % r)
         return False
     self.buffer_count += 1
     self.byte_count += len(buf.data)
     ltime = int(self.queue.get_property("current-level-time")/MS_TO_NS)
     debug("sound sink: pushed %s bytes, new buffer level: %sms", len(buf.data), ltime)
     return True
Esempio n. 6
0
 def eos(self):
     debug("eos()")
     if self.src:
         self.src.emit('end-of-stream')
     self.cleanup()
Esempio n. 7
0
 def queue_underrun(self, *args):
     ltime = int(self.queue.get_property("current-level-time")/MS_TO_NS)
     debug("sound sink queue underrun: level=%s", ltime)
     self.queue_state = "underrun"
Esempio n. 8
0
 def on_new_preroll(self, appsink):
     buf = appsink.emit('pull-preroll')
     debug('new preroll: %s bytes', len(buf))
     self.emit_buffer(buf)
Esempio n. 9
0
 def on_new_preroll(self, appsink):
     buf = appsink.emit('pull-preroll')
     debug('new preroll: %s bytes', len(buf))
     self.emit_buffer(buf)
Esempio n. 10
0
 def overrun(*args):
     debug("sound sink queue overrun")
Esempio n. 11
0
 def on_enough_data(self, *args):
     debug("on_enough_data(%s)", args)
Esempio n. 12
0
 def need_data(self, src_arg, needed):
     debug("need_data: %s bytes in %s", needed, src_arg)
Esempio n. 13
0
 def underrun(*args):
     debug("sound sink queue underrun")
Esempio n. 14
0
 def overrun(*args):
     debug("sound sink queue overrun")
Esempio n. 15
0
 def on_enough_data(self, *args):
     debug("on_enough_data(%s)", args)
Esempio n. 16
0
 def need_data(self, src_arg, needed):
     debug("need_data: %s bytes in %s", needed, src_arg)
Esempio n. 17
0
 def queue_pushing(self, *args):
     ltime = int(self.queue.get_property("current-level-time")/MS_TO_NS)
     debug("sound sink queue pushing: level=%s", ltime)
     self.queue_state = "pushing"
Esempio n. 18
0
 def underrun(*args):
     debug("sound sink queue underrun")