Changeset a8de7281d4590f2562f934849de40ab6e1669d5a

Show
Ignore:
Timestamp:
26/10/07 10:35:53 (1 year ago)
Author:
Jean-Paul Saman <jpsaman@videolan.org>
git-committer:
Jean-Paul Saman <jpsaman@videolan.org> 1193387753 +0000
git-parent:

[0afe6776db69252dbba8dbb5a6bbe51f8f1c4822]

git-author:
Jean-Paul Saman <jpsaman@videolan.org> 1193387753 +0000
Message:

Use p_block->i_dts as spu->i_start instead of p_block->i_pts. This fixes timing issues while transcoding and streaming Teletext subtitles as DVB subtitles.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/codec/zvbi.c

    r35467e3 ra8de728  
    184184#endif 
    185185 
     186    p_sys->b_update = VLC_FALSE; 
    186187    p_sys->p_vbi_dec = vbi_decoder_new(); 
    187188    p_sys->p_dvb_demux = vbi_dvb_pes_demux_new( NULL, NULL ); 
     
    259260    if( (pp_block == NULL) || (*pp_block == NULL) ) 
    260261        return NULL; 
     262 
    261263    p_block = *pp_block; 
    262264    *pp_block = NULL; 
     
    291293        goto error; 
    292294 
     295    p_sys->b_update = VLC_FALSE; 
    293296    p_sys->i_last_page = p_sys->i_wanted_page; 
    294     p_sys->b_update = VLC_FALSE; 
    295297#if 0 
    296298    msg_Dbg( p_dec, "we now have page: %d ready for display", 
     
    335337    p_spu->i_flags = SUBPICTURE_ALIGN_TOP; 
    336338 
    337     p_spu->i_start = (mtime_t) p_block->i_pts; 
     339    p_spu->i_start = (mtime_t) p_block->i_dts; 
    338340    p_spu->i_stop = (mtime_t) 0; 
    339341    p_spu->b_ephemer = VLC_TRUE; 
     
    388390        vout_AllocatePicture( VLC_OBJECT(p_dec), p_pic, fmt_in.i_chroma, 
    389391                        fmt_in.i_width, fmt_in.i_height, fmt_in.i_aspect ); 
    390  
    391392        if( !p_pic->i_planes ) 
    392393        { 
     
    493494    decoder_sys_t   *p_sys = (decoder_sys_t *) p_dec->p_sys; 
    494495    uint32_t        *p_begin, *p_end; 
    495     unsigned        int x = 0, y = 0; 
     496    unsigned int    x = 0, y = 0; 
    496497    vbi_opacity     opacity; 
    497498 
     
    508509        case VLC_FOURCC('R','G','B','A' ): 
    509510            p_begin = (uint32_t *)(*p_src)->p->p_pixels; 
    510             p_end = (uint32_t *)(*p_src)->p->p_pixels+(fmt.i_width * fmt.i_height); 
     511            p_end = (uint32_t *)(*p_src)->p->p_pixels + 
     512                    ( fmt.i_width * fmt.i_height ); 
    511513            break; 
    512514        case VLC_FOURCC('Y','U','V','A' ): 
     
    537539        /* Full text transparency. only foreground color is show */ 
    538540        case VBI_TRANSPARENT_FULL: 
     541            *p_begin = 0; 
     542            break; 
    539543        /* Transparency for boxed text */ 
    540544        case VBI_SEMI_TRANSPARENT: 
    541             if( (*p_begin & 0xffffff00) == 0xff
     545            if( (*p_begin & 0xffffff00) == 0xff
    542546                *p_begin = 0; 
    543             break; 
    544         default: 
    545547            break; 
    546548        }