def METHOD_NAME(
    self,
    xs_pad: torch.Tensor,
    ilens: torch.Tensor,
    prev_states: torch.Tensor = None,
) -> Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]]:
    if self.do_pad_trim:
        xs_pad = self.pad_or_trim(xs_pad, self.pad_samples)
    feats, feats_lens = self.log_mel_spectrogram(xs_pad, ilens)
    if self.specaug is not None and self.encoders.training:
        feats = torch.transpose(feats, 1, 2)
        feats, feats_lens = self.specaug(feats, feats_lens)
        feats = torch.transpose(feats, 1, 2)
    xs_pad, olens = self.whisper_encode(feats, feats_lens)
    return xs_pad, olens, None