summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_overlay.c
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2007-04-25 18:19:00 +0100
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2007-04-25 18:19:00 +0100
commitc3cdce4e0f733922ec151723c8b4d112ee40ca9d (patch)
tree46153ba75bf0171868baf551ae2f10799662c2e9 /src/xine-engine/video_overlay.c
parent09d56dfc0728f7a5dc80760c839f9818c8b80a57 (diff)
parentad65ce16f4583a1ecdf3d3a507a7991c208d6c0c (diff)
downloadxine-lib-c3cdce4e0f733922ec151723c8b4d112ee40ca9d.tar.gz
xine-lib-c3cdce4e0f733922ec151723c8b4d112ee40ca9d.tar.bz2
Merge from 1.1.
Diffstat (limited to 'src/xine-engine/video_overlay.c')
-rw-r--r--src/xine-engine/video_overlay.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c
index 7bd9292c8..231aa5a70 100644
--- a/src/xine-engine/video_overlay.c
+++ b/src/xine-engine/video_overlay.c
@@ -288,10 +288,18 @@ static int32_t video_overlay_add_event(video_overlay_manager_t *this_gen, void
}
if( event->object.overlay ) {
+ int i;
+ for(i = 0; i < OVL_PALETTE_SIZE; i++) {
+ if(event->object.overlay->trans[i] >= OVL_MAX_OPACITY)
+ event->object.overlay->trans[i] = OVL_MAX_OPACITY;
+ if(event->object.overlay->hili_trans[i] >= OVL_MAX_OPACITY)
+ event->object.overlay->hili_trans[i] = OVL_MAX_OPACITY;
+ }
+
this->events[new_event].event->object.overlay = xine_xmalloc (sizeof(vo_overlay_t));
xine_fast_memcpy(this->events[new_event].event->object.overlay,
event->object.overlay, sizeof(vo_overlay_t));
-
+
/* We took the callers rle and data, therefore it will be our job to free it */
/* clear callers overlay so it will not be freed twice */
memset(event->object.overlay,0,sizeof(vo_overlay_t));