summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_render_api.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libass/ass_render_api.c b/libass/ass_render_api.c
index 70cf174..4790565 100644
--- a/libass/ass_render_api.c
+++ b/libass/ass_render_api.c
@@ -51,6 +51,8 @@ static void ass_reconfigure(ASS_Renderer *priv)
void ass_set_frame_size(ASS_Renderer *priv, int w, int h)
{
+ if (w < 0 || h < 0)
+ w = h = 0;
if (priv->settings.frame_width != w || priv->settings.frame_height != h) {
priv->settings.frame_width = w;
priv->settings.frame_height = h;
@@ -60,6 +62,8 @@ void ass_set_frame_size(ASS_Renderer *priv, int w, int h)
void ass_set_storage_size(ASS_Renderer *priv, int w, int h)
{
+ if (w < 0 || h < 0)
+ w = h = 0;
if (priv->settings.storage_width != w ||
priv->settings.storage_height != h) {
priv->settings.storage_width = w;
@@ -101,6 +105,7 @@ void ass_set_aspect_ratio(ASS_Renderer *priv, double dar, double sar)
void ass_set_pixel_aspect(ASS_Renderer *priv, double par)
{
+ if (par < 0) par = 0;
if (priv->settings.par != par) {
priv->settings.par = par;
ass_reconfigure(priv);