def handle_reset_event(self, pad, event): if gstreamer.event_is_flumotion_reset(event): self.debug("Got reset event in the encoder... reseting it!") encoder = self.get_element('encoder') encoder.set_state(gst.STATE_READY) self.try_start_pipeline(force=True) return True
def handle_reset_event(self, pad, probe_info, unused_user_data): event = probe_info.get_event() if gstreamer.event_is_flumotion_reset(event): self.debug("Got reset event in the encoder... reseting it!") encoder = self.get_element('encoder') encoder.set_state(Gst.State.READY) self.try_start_pipeline(force=True) return True
def _depay_reset_event(self, pad, event, eater): if event.type != gst.EVENT_CUSTOM_DOWNSTREAM: return True if not gstreamer.event_is_flumotion_reset(event): return True self.info("Received flumotion-reset, not droping buffers anymore") self.dropStreamHeaders = False if self.disconnectedPads: return False return True
def eventfunc(self, pad, event, srcpad): self.debug("Received event %r from %s" % (event, event.src)) try: self._lock.acquire() if event.type == gst.EVENT_NEWSEGMENT: u, r, f, start, s, position = event.parse_new_segment() self._update_sync_point(start, position) if gstreamer.event_is_flumotion_reset(event): self._resetReceived = True self._send_new_segment = True finally: self._lock.release() # forward all the events except the new segment events if event.type != gst.EVENT_NEWSEGMENT: return srcpad.push_event(event) return True
def input_reset_event(pad, event): if event.type != gst.EVENT_CUSTOM_DOWNSTREAM: return True if not gstreamer.event_is_flumotion_reset(event): return True if self.disconnectedPads: return False self.log('RESET: in reset event received on input pad %r', pad) self._reset_count = len(self.feeders) # Block all the eaters and send an eos downstream the pipeline to # drain all the elements. It will also unlink the pipeline from the # input queues. self._block_eaters() # Do not propagate the event. It is sent from the other side of # the pipeline after it has been drained. return False
def input_reset_event(pad, event): if event.type != gst.EVENT_CUSTOM_DOWNSTREAM: return True if not gstreamer.event_is_flumotion_reset(event): return True if self.disconnectedPads: return False self.log("RESET: in reset event received on input pad %r", pad) self._reset_count = len(self.feeders) # Block all the eaters and send an eos downstream the pipeline to # drain all the elements. It will also unlink the pipeline from the # input queues. self._block_eaters() # Do not propagate the event. It is sent from the other side of # the pipeline after it has been drained. return False
def eventfunc(self, pad, event): self.debug("Received event %r from %s" % (event, event.src)) if gstreamer.event_is_flumotion_reset(event) and self._use_audiorate(): self._audiorate.set_state(gst.STATE_READY) self._audiorate.set_state(gst.STATE_PLAYING) return self._srcPad.push_event(event)
def eventfunc(self, pad, event): self.debug("Received event %r from %s" % (event, event.src)) if gstreamer.event_is_flumotion_reset(event): self._videorate.set_state(gst.STATE_READY) self._videorate.set_state(gst.STATE_PLAYING) return self._srcPad.push_event(event)