All pastes #588848 Raw Edit

Tenshi

public python v1 · immutable
#588848 ·published 2007-06-25 18:46 UTC
rendered paste body
  self.add_pad(self.srcpad)  self.add_pad(self.metadatasinkpad)  self.add_pad(self.sinkpad)  self.sinkpad.set_chain_function(self.data_chain)  self.metadatasinkpad.set_chain_function(self.metadata_chain)  def data_chain(self, pad, buffer):    self.condition.acquire())    if not self.data is None:      return gst.FLOW_ERROR    self.data = buffer    if self.metadata is None:    self.condition.wait()    status = gst.FLOW_OK    else:      status = self.send_pair()    self.condition.notifyAll()    self.condition.release()    return status  def metadata_chain(self, pad, buffer):    self.condition.acquire())    if not self.metadata is None:      return gst.FLOW_ERROR    self.metadata = buffer    if self.data is None:    self.condition.wait()    status = gst.FLOW_OK    else:      status = self.send_pair()    self.condition.notifyAll()    self.condition.release()    return status  def send_pair (self):"    if self.metadata is None or self.data is None:      status = gst.FLOW_ERROR    else:      status = self.srcpad.push(self.metadata)    if status == gst.FLOW_OK:      status = self.srcpad.push(self.data)    self.metadata = None    self.data = None    return status