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.
This commit is contained in:
Green Sky 2024-05-15 23:31:25 +02:00 committed by Sam Lantinga
parent fbe7e2e6d3
commit 0ee874f02d

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.
}
}