(self, pos: int)
| 3991 | return segment.start_pos |
| 3992 | |
| 3993 | def decoder_pos_up_to(self, pos: int) -> int: |
| 3994 | if not self.is_reusable_boundary(pos): |
| 3995 | raise RuntimeError("decoder position requested inside a non-reusable media segment") |
| 3996 | if pos <= 0: |
| 3997 | return 0 |
| 3998 | if pos >= self.length: |
| 3999 | if not self.segments: |
| 4000 | return 0 |
| 4001 | segment = self.segments[-1] |
| 4002 | return segment.decode_start_pos + segment.decode_n_pos |
| 4003 | segment = self.segment_at(pos) |
| 4004 | if segment.kind == "text": |
| 4005 | return segment.decode_start_pos + (pos - segment.start_pos) |
| 4006 | if pos == segment.start_pos: |
| 4007 | return segment.decode_start_pos |
| 4008 | if pos == segment.end_pos: |
| 4009 | return segment.decode_start_pos + segment.decode_n_pos |
| 4010 | raise RuntimeError("decoder position requested inside a media segment") |
| 4011 | |
| 4012 | def segment_at(self, pos: int) -> PromptSegment: |
| 4013 | for segment in self.segments: |
nothing calls this directly
no test coverage detected