if (source->current.has_aspect_ratio)
{
- ratio_width = source->current.aspect_ratio.width;
- ratio_height = source->current.aspect_ratio.height;
+ if (viewport->current.transform & WTZ_VIDEO_EXPORTED_VIEWPORT_TRANSFORM_90)
+ {
+ ratio_width = source->current.aspect_ratio.height;
+ ratio_height = source->current.aspect_ratio.width;
+ }
+ else
+ {
+ ratio_width = source->current.aspect_ratio.width;
+ ratio_height = source->current.aspect_ratio.height;
+ }
_letter_box_geometry_calc(&dest_rect, ratio_width, ratio_height);
}
if (need_apply)
- _source_viewport_apply(source);
+ {
+ _source_viewport_apply(source);
+ _source_viewport_transform_update(source);
+ }
}
static const char *
_source_viewport_destination_update(source);
_source_viewport_apply(source);
+ _source_viewport_transform_update(source);
return EINA_TRUE;
}
VS_DBG("SOURCE %p| viewport committed", source);
- if (state->committed & E_VIDEO_VIEWPORT_STATE_DESTINATION)
+ if (state->committed & E_VIDEO_VIEWPORT_STATE_DESTINATION ||
+ state->committed & E_VIDEO_VIEWPORT_STATE_TRANSFORM)
{
_source_viewport_destination_update(source);
_source_viewport_apply(source);