Author: tack
Date: Mon Oct 8 14:44:36 2007
New Revision: 2848
Log:
Round OSD height down to nearest even integer: fixes segv when playing videos
with odd height.
Modified:
trunk/xine/src/drivers/video_out_kaa.c
Modified: trunk/xine/src/drivers/video_out_kaa.c
==============================================================================
--- trunk/xine/src/drivers/video_out_kaa.c (original)
+++ trunk/xine/src/drivers/video_out_kaa.c Mon Oct 8 14:44:36 2007
@@ -860,20 +860,20 @@
_kaa_blend_osd(kaa_driver_t *this, kaa_frame_t *frame)
{
pthread_mutex_lock(&this->osd_buffer_lock);
- int resized = frame->width != this->osd_w || frame->height != this->osd_h;
+ int resized = frame->width != this->osd_w || (frame->height & ~1) !=
this->osd_h;
if (resized || frame->format != this->osd_format) {
if (this->osd_configure_cb && resized) {
// XXX: could configure cb cause reentry here? If so, will
deadlock.
- this->osd_configure_cb(frame->width, frame->height, frame->ratio,
this->osd_configure_cb_data,
+ this->osd_configure_cb(frame->width, frame->height & ~1,
frame->ratio, this->osd_configure_cb_data,
&this->osd_buffer, &this->osd_stride);
}
if (this->osd_buffer && this->osd_stride > 0) {
this->osd_w = frame->width;
- this->osd_h = frame->height;
- this->osd_slice_h = frame->height;
+ this->osd_h = frame->height & ~1;
+ this->osd_slice_h = frame->height & ~1;
alloc_overlay_data(this, frame->format);
- convert_bgra_to_frame_format(this, 0, 0, frame->width,
frame->height);
- image_premultiply_alpha(this, 0, 0, frame->width, frame->height);
+ convert_bgra_to_frame_format(this, 0, 0, this->osd_w, this->osd_h);
+ image_premultiply_alpha(this, 0, 0, this->osd_w, this->osd_h);
calculate_slice(this);
} else {
printf("OSD CONFIGURE FAILED\n");
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog