summaryrefslogtreecommitdiffstats
path: root/libvo/sub.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/sub.c')
-rw-r--r--libvo/sub.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/libvo/sub.c b/libvo/sub.c
index 30bfe2b3df..8fe826eb0d 100644
--- a/libvo/sub.c
+++ b/libvo/sub.c
@@ -273,11 +273,13 @@ inline static void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,in
}
void *vo_spudec=NULL;
-#ifdef USE_DVDREAD
+void *vo_vobsub=NULL;
inline static void vo_draw_spudec(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){
spudec_draw(vo_spudec, draw_alpha);
}
-#endif
+inline static void vo_draw_vobsub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){
+ vobsub_draw(vo_vobsub, dxs, dys, draw_alpha);
+}
static int draw_alpha_init_flag=0;
@@ -285,6 +287,14 @@ extern void vo_draw_alpha_init();
void vo_draw_text(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){
+ if(vo_spudec){
+ vo_draw_spudec(dxs,dys,draw_alpha);
+ }
+
+ if(vo_vobsub){
+ vo_draw_vobsub(dxs,dys,draw_alpha);
+ }
+
if(!vo_font) return; // no font
if(!draw_alpha_init_flag){
@@ -303,11 +313,6 @@ void vo_draw_text(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h,
if(vo_osd_progbar_type>=0 && vo_font->font[OSD_PB_0]>=0){
vo_draw_text_progbar(dxs,dys,draw_alpha);
}
-#ifdef USE_DVDREAD
- if(vo_spudec){
- vo_draw_spudec(dxs,dys,draw_alpha);
- }
-#endif
}