summaryrefslogtreecommitdiff
path: root/src/lib/emotion/emotion_smart.c
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2016-10-15 20:59:57 +0200
committerDave Andreoli <dave@gurumeditation.it>2016-10-16 08:19:30 +0200
commitb8ae4947b6577cc8b5ad173615fac809b13d0800 (patch)
treeeeafcc1f6365f63c4cecdfbb9ba051113f544609 /src/lib/emotion/emotion_smart.c
parent14aca77bfca6e5a50f9fa519e955a5b752f4d6b4 (diff)
Emotion: prefer ratio to calculate sizes
Instead of calculate the ratio from the sizes, calc the width from the ratio, as ratio seems always accurate. Fallback to the old code if ratio not available (tbh I never see this case) @Fix EMOTION_ASPECT_KEEP_BOTH with some rare strams, mostly DVD and online stuff
Diffstat (limited to 'src/lib/emotion/emotion_smart.c')
-rw-r--r--src/lib/emotion/emotion_smart.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index 16a6677..52ae0e6 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -476,10 +476,20 @@ _efl_canvas_video_aspect_border_apply(Evas_Object *obj, Efl_Canvas_Video_Data *s
476 476
477 int aspect_opt = 0; 477 int aspect_opt = 0;
478 478
479 iw = sd->video.w; 479 /* Prefer (if available) the video aspect ratio to calculate the sizes */
480 ih = sd->video.h; 480 if (sd->ratio > 0.0)
481 {
482 ir = sd->ratio;
483 ih = sd->video.h;
484 iw = (double)ih * ir;
485 }
486 else
487 {
488 iw = sd->video.w;
489 ih = sd->video.h;
490 ir = (double)iw / ih;
491 }
481 492
482 ir = (double)iw / ih;
483 r = (double)w / h; 493 r = (double)w / h;
484 494
485 /* First check if we should fit the width or height of the video inside the 495 /* First check if we should fit the width or height of the video inside the