def get_info(self, stream): wrapper = None if hasattr(stream, 'fileno'): uri = 'fd://%s' % stream.fileno() else: wrapper = SocketPairWrappedFile(stream) uri = 'fd://%s' % wrapper.fileno() self.threadPool.execute_named(wrapper.run, '%s wrapper.run %s' % (self.l.name, wrapper.fileno())) j = GstMediaInfo.Job(self, uri) with self.lock: self.jobs.add(j) j.event.wait() with self.lock: self.jobs.remove(j) if not wrapper is None: wrapper.close() if j.inError: raise ValueError return j.result
def get_info(self, stream): wrapper = None if hasattr(stream, 'fileno'): uri = 'fd://%s' % stream.fileno() else: wrapper = SocketPairWrappedFile(stream) uri = 'fd://%s' % wrapper.fileno() self.threadPool.execute_named( wrapper.run, '%s wrapper.run %s' % (self.l.name, wrapper.fileno())) j = GstMediaInfo.Job(self, uri) with self.lock: self.jobs.add(j) j.event.wait() with self.lock: self.jobs.remove(j) if not wrapper is None: wrapper.close() if j.inError: raise ValueError return j.result