def __init__(self, fs=None, sample2timestamp=None, max_delta=200):
    'tranform from per-packet (i.e. multiple-samples) to per-sample timestamps\n\n        Args:\n            fs (float): default sample rate, used when no other timing info is available\n            sample2timestamp (transformer, optional): class to de-jitter timestamps based on sample-count. Defaults to None.\n        '
    self.fs = fs
    a0 = ((1000 / self.fs) if (self.fs is not None) else 1)
    if (sample2timestamp == 'lower_bound_tracker'):
        self.sample2timestamp = lower_bound_tracker(a0=a0)
    elif (sample2timestamp == 'linear_trend_tracker'):
        self.sample2timestamp = linear_trend_tracker(a0=a0)
    else:
        self.sample2timestamp = sample2timestamp
    self.max_delta = max_delta
tranform from per-packet (i.e. multiple-samples) to per-sample timestamps

Args:
    fs (float): default sample rate, used when no other timing info is available
    sample2timestamp (transformer, optional): class to de-jitter timestamps based on sample-count. Defaults to None.
def __init__(self, fs=None, sample2timestamp=None, max_delta=200):
    'tranform from per-packet (i.e. multiple-samples) to per-sample timestamps\n\n        Args:\n            fs (float): default sample rate, used when no other timing info is available\n            sample2timestamp (transformer, optional): class to de-jitter timestamps based on sample-count. Defaults to None.\n        '
    self.fs = fs
    a0 = ((1000 / self.fs) if (self.fs is not None) else 1)
    if (sample2timestamp == 'lower_bound_tracker'):
        self.sample2timestamp = lower_bound_tracker(a0=a0)
    elif (sample2timestamp == 'linear_trend_tracker'):
        self.sample2timestamp = linear_trend_tracker(a0=a0)
    else:
        self.sample2timestamp = sample2timestamp
    self.max_delta = max_delta