{
rd = read(fd, tmp, 255);
if (rd > 6 && !strncmp(tmp, "bestfit", 7))
- aspect = DDVD_JUSTSCALE;
+ policy = DDVD_JUSTSCALE;
else if (rd > 8 && !strncmp(tmp, "letterbox", 9))
- aspect = DDVD_LETTERBOX;
+ policy = DDVD_LETTERBOX;
close(fd);
}
if (m_subtitle_widget) {
int x1,x2,y1,y2;
ddvd_get_last_blit_area(m_ddvdconfig, &x1, &x2, &y1, &y2);
- m_subtitle_widget->setPixmap(m_pixmap, eRect(x1, y1, x2-x1, y2-y1));
+ m_subtitle_widget->setPixmap(m_pixmap, eRect(x1, y1, (x2-x1)+1, (y2-y1)+1));
}
break;
case DDVD_SHOWOSD_STATE_PLAY:
eDebug("DVD_SOF_REACHED!");
m_event(this, evSOF);
break;
+ case DDVD_SHOWOSD_ANGLE:
+ {
+ int current, num;
+ ddvd_get_angle_info(m_ddvdconfig, ¤t, &num);
+ eDebug("DVD_ANGLE_INFO: %d / %d", current, num);
+ m_event(this, evUser+13);
+ break;
+ }
case DDVD_SHOWOSD_TIME:
{
static struct ddvd_time last_info;
}
case sUser+6:
case sUser+7:
+ case sUser+8:
return resIsPyObject;
default:
return resNA;
}
return tuple;
}
+ case sUser+8:
+ {
+ ePyObject tuple = PyTuple_New(2);
+ int current, num;
+ ddvd_get_angle_info(m_ddvdconfig, ¤t, &num);
+ PyTuple_SetItem(tuple, 0, PyInt_FromLong(current));
+ PyTuple_SetItem(tuple, 1, PyInt_FromLong(num));
+
+ return tuple;
+ }
default:
eDebug("unhandled getInfoObject(%d)", w);
}
case iServiceKeys::keyUser+7:
ddvd_send_key(m_ddvdconfig, DDVD_KEY_MENU);
break;
+ case iServiceKeys::keyUser+8:
+ ddvd_send_key(m_ddvdconfig, DDVD_KEY_ANGLE);
+ break;
default:
return -1;
}