[vlc-devel] commit: zvbi: Fix displaying of teletext and closed captioning. ( Jean-Paul Saman )

git version control git at videolan.org
Fri Feb 5 12:59:47 CET 2010


vlc | branch: master | Jean-Paul Saman <jean-paul.saman at m2x.nl> | Fri Feb  5 10:59:29 2010 +0100| [b48252ea29457ab9a142b797b7e5182dfca1b460] | committer: Jean-Paul Saman 

zvbi: Fix displaying of teletext and closed captioning.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b48252ea29457ab9a142b797b7e5182dfca1b460
---

 modules/codec/zvbi.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/modules/codec/zvbi.c b/modules/codec/zvbi.c
index 50c4edf..346f747 100644
--- a/modules/codec/zvbi.c
+++ b/modules/codec/zvbi.c
@@ -322,6 +322,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
     vbi_page        p_page;
     const uint8_t   *p_pos;
     unsigned int    i_left;
+    int64_t         i_pts = 0;
 
     if( (pp_block == NULL) || (*pp_block == NULL) )
         return NULL;
@@ -336,7 +337,6 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
     {
         vbi_sliced      p_sliced[MAX_SLICES];
         unsigned int    i_lines = 0;
-        int64_t         i_pts;
 
         i_lines = vbi_dvb_demux_cor( p_sys->p_dvb_demux, p_sliced,
                                      MAX_SLICES, &i_pts, &p_pos, &i_left );
@@ -363,6 +363,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
     if( i_wanted_page == p_sys->i_last_page && !p_sys->b_update )
         goto error;
 
+    i_pts = i_pts ? i_pts : p_block->i_pts;
     if( !b_cached )
     {
         if( p_sys->i_last_page != i_wanted_page )
@@ -370,7 +371,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
             /* We need to reset the subtitle */
             p_spu = Subpicture( p_dec, &fmt, true,
                                 p_page.columns, p_page.rows,
-                                i_align, p_block->i_pts );
+                                i_align, i_pts );
             if( !p_spu )
                 goto error;
             p_spu->p_region->psz_text = strdup("");
@@ -392,7 +393,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
     /* Create the subpicture unit */
     p_spu = Subpicture( p_dec, &fmt, p_sys->b_text,
                         p_page.columns, p_page.rows,
-                        i_align, p_block->i_pts );
+                        i_align, i_pts );
     if( !p_spu )
         goto error;
 




More information about the vlc-devel mailing list