fix pipewire camera interval fraction inversion

SDL expects an interval fraction to be provided by the backend, but
pipewire provides a framerate fraction, we we just switch them.
pull/9803/head
Green Sky 2024-05-15 23:31:25 +02:00 committed by Sam Lantinga
parent fbe7e2e6d3
commit 0ee874f02d
1 changed files with 2 additions and 1 deletions

View File

@ -621,8 +621,9 @@ static void collect_rates(CameraFormatAddData *data, struct param *p, const Uint
SPA_FALLTHROUGH;
case SPA_CHOICE_Enum:
for (i = 0; i < n_vals; i++) {
// denom and num are switched, because sdl expects an interval, while pw provides a rate
if (SDL_AddCameraFormat(data, sdlfmt, size->width, size->height,
rates[i].num, rates[i].denom) == -1) {
rates[i].denom, rates[i].num) == -1) {
return; // Probably out of memory; we'll go with what we have, if anything.
}
}