Beispiel #1
0
 def __init__(self, ring, header, gulp_nframe, buf_nframe):
     SequenceBase.__init__(self, ring)
     self._header = header
     # This allows passing DataType instances instead of string types
     header['_tensor']['dtype'] = str(header['_tensor']['dtype'])
     header_str = json.dumps(header)
     header_size = len(header_str)
     tensor = self.tensor
     # **TODO: Consider moving this into bfRingSequenceBegin
     self.ring.resize(gulp_nframe * tensor['frame_nbyte'],
                       buf_nframe * tensor['frame_nbyte'],
                      tensor['nringlet'])
     offset_from_head = 0
     # TODO: How to allow time_tag to be optional? Probably need to plumb support through to backend.
     self.obj = _bf.BFwsequence()
     try:
         hname = header['name'].encode()
         hstr = header_str.encode()
     except AttributeError:
         # Python2 catch
         hname = header['name']
         hstr = header_str
     _check(_bf.bfRingSequenceBegin(
         self.obj,
         ring.obj,
         hname,
         header['time_tag'],
         header_size,
         hstr,
         tensor['nringlet'],
         offset_from_head))
Beispiel #2
0
 def __init__(self, ring, name="", time_tag=-1, header="", nringlet=1):
     SequenceBase.__init__(self, ring)
     # TODO: Allow header to be a string, buffer, or numpy array
     header_size = len(header)
     if isinstance(header, np.ndarray):
         header = header.ctypes.data
     elif isinstance(header, str):
         try:
             header = header.encode()
         except AttributeError:
             # Python2 catch
             pass
     #print("hdr:", header_size, type(header))
     name = str(name)
     offset_from_head = 0
     self.obj = _bf.BFwsequence()
     try:
         name = name.encode()
     except AttributeError:
         # Python2 catch
         pass
     _check(
         _bf.bfRingSequenceBegin(self.obj, ring.obj, name, time_tag,
                                 header_size, header, nringlet,
                                 offset_from_head))