spa: libcamera: source: remove format config shortcut

Remove the code that is supposed to compare the current and the to-be-set
format for returning early if they match. This is removed:

  * v4l2 also does not have it either;
  * it needs more consideration (there are not properly handled fields);
  * it would make later changes somewhat more complicated.

(cherry picked from commit 05a9e52caf)
This commit is contained in:
Barnabás Pőcze 2025-08-07 18:07:02 +02:00 committed by Robert Mader
parent 11d224befa
commit 3b5a2c06f3

View file

@ -1865,35 +1865,16 @@ int port_set_format(struct impl *impl, struct port *port,
return -EINVAL;
}
if (port->current_format && info.media_type == port->current_format->media_type &&
info.media_subtype == port->current_format->media_subtype &&
info.info.raw.format == port->current_format->info.raw.format &&
info.info.raw.size.width == port->current_format->info.raw.size.width &&
info.info.raw.size.height == port->current_format->info.raw.size.height &&
info.info.raw.flags == port->current_format->info.raw.flags &&
(!(info.info.raw.flags & SPA_VIDEO_FLAG_MODIFIER) ||
(info.info.raw.modifier == port->current_format->info.raw.modifier)))
return 0;
break;
case SPA_MEDIA_SUBTYPE_mjpg:
if (spa_format_video_mjpg_parse(format, &info.info.mjpg) < 0)
return -EINVAL;
if (port->current_format && info.media_type == port->current_format->media_type &&
info.media_subtype == port->current_format->media_subtype &&
info.info.mjpg.size.width == port->current_format->info.mjpg.size.width &&
info.info.mjpg.size.height == port->current_format->info.mjpg.size.height)
return 0;
break;
case SPA_MEDIA_SUBTYPE_h264:
if (spa_format_video_h264_parse(format, &info.info.h264) < 0)
return -EINVAL;
if (port->current_format && info.media_type == port->current_format->media_type &&
info.media_subtype == port->current_format->media_subtype &&
info.info.h264.size.width == port->current_format->info.h264.size.width &&
info.info.h264.size.height == port->current_format->info.h264.size.height)
return 0;
break;
default:
return -EINVAL;