提交 37d05f80 编写于 作者: Z Zhang Rui

ijksdl: add SDL_VoutDisplayYUVOverlay

上级 36d5f414
......@@ -448,7 +448,7 @@ static void video_image_display(FFPlayer *ffp)
is->last_display_rect = rect;
}
#else
SDL_VoutDisplayYUVOverlay(vp->bmp);
SDL_VoutDisplayYUVOverlay(ffp->vout, vp->bmp);
#endif
}
}
......
......@@ -44,6 +44,13 @@ SDL_VoutSurface *SDL_VoutSetVideoMode(SDL_Vout *vout, int w, int h, int bpp, Uin
return vout->set_video_mode(vout, w, h, bpp, flags);
}
int SDL_VoutDisplayYUVOverlay(SDL_Vout *vout, SDL_VoutOverlay *overlay)
{
if (vout && overlay && vout->display_overlay)
return vout->display_overlay(vout, overlay);
return -1;
}
int SDL_VoutLockYUVOverlay(SDL_VoutOverlay *overlay)
{
if (overlay && overlay->lock)
......@@ -60,14 +67,6 @@ int SDL_VoutUnlockYUVOverlay(SDL_VoutOverlay *overlay)
return -1;
}
int SDL_VoutDisplayYUVOverlay(SDL_VoutOverlay *overlay)
{
if (overlay && overlay->display)
return overlay->display(overlay);
return -1;
}
void SDL_VoutFreeYUVOverlay(SDL_VoutOverlay *overlay)
{
if (!overlay)
......
......@@ -45,7 +45,6 @@ typedef struct SDL_VoutOverlay {
void (*free_l)(SDL_VoutOverlay *overlay);
int (*lock)(SDL_VoutOverlay *overlay);
int (*unlock)(SDL_VoutOverlay *overlay);
int (*display)(SDL_VoutOverlay *overlay);
} SDL_VoutOverlay;
typedef struct SDL_VoutSurface_Opaque SDL_VoutSurface_Opaque;
......@@ -66,14 +65,15 @@ typedef struct SDL_Vout {
SDL_Vout_Opaque *opaque;
void (*free_l)(SDL_Vout *vout);
SDL_VoutSurface *(*set_video_mode)(SDL_Vout *vout, int w, int h, int bpp, Uint32 flags);
int (*display_overlay)(SDL_Vout *vout, SDL_VoutOverlay *overlay);
} SDL_Vout;
void SDL_VoutFree(SDL_Vout *vout);
SDL_VoutSurface *SDL_VoutSetVideoMode(SDL_Vout *vout, int w, int h, int bpp, Uint32 flags);
int SDL_VoutDisplayYUVOverlay(SDL_Vout *vout, SDL_VoutOverlay *overlay);
int SDL_VoutLockYUVOverlay(SDL_VoutOverlay *overlay);
int SDL_VoutUnlockYUVOverlay(SDL_VoutOverlay *overlay);
int SDL_VoutDisplayYUVOverlay(SDL_VoutOverlay *overlay);
void SDL_VoutFreeYUVOverlay(SDL_VoutOverlay *overlay);
#endif
......@@ -96,6 +96,12 @@ static SDL_VoutSurface *vout_set_video_mode(SDL_Vout *vout, int w, int h, int bp
return surface;
}
static int voud_display_overlay(SDL_Vout *vout, SDL_VoutOverlay *overlay)
{
// FIXME: implement
return -1;
}
SDL_Vout *SDL_VoutAndroid_CreateForANativeWindow()
{
SDL_Vout *vout = SDL_Vout_CreateInternal();
......@@ -117,6 +123,7 @@ SDL_Vout *SDL_VoutAndroid_CreateForANativeWindow()
vout->opaque = opaque;
vout->free_l = vout_free;
vout->set_video_mode = vout_set_video_mode;
vout->display_overlay = voud_display_overlay;
return vout;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册