Skip to content

Commit 67ad970

Browse files
committed
Add fallback for cdio_get_track_last_lsn
1 parent e792434 commit 67ad970

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/cyanrip_main.c

+7
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,13 @@ static int cyanrip_ctx_init(cyanrip_ctx **s, cyanrip_settings *settings)
207207
t->start_lsn = cdio_get_track_lsn(ctx->cdio, t->number);
208208
t->end_lsn = cdio_get_track_last_lsn(ctx->cdio, t->number);
209209

210+
if ((i == (ctx->nb_cd_tracks - 1)) && (t->end_lsn == CDIO_INVALID_LSN)) {
211+
t->end_lsn = ctx->end_lsn;
212+
} else if (t->end_lsn == CDIO_INVALID_LSN) {
213+
cyanrip_log(ctx, 0, "CDIO returned invalid track %i end LSN\n", t->index);
214+
return AVERROR(EINVAL);
215+
}
216+
210217
t->start_lsn_sig = t->start_lsn;
211218
t->end_lsn_sig = t->end_lsn;
212219

0 commit comments

Comments
 (0)