Changeset a8de7281d4590f2562f934849de40ab6e1669d5a
- 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
| r35467e3 |
ra8de728 |
|
| 184 | 184 | #endif |
|---|
| 185 | 185 | |
|---|
| | 186 | p_sys->b_update = VLC_FALSE; |
|---|
| 186 | 187 | p_sys->p_vbi_dec = vbi_decoder_new(); |
|---|
| 187 | 188 | p_sys->p_dvb_demux = vbi_dvb_pes_demux_new( NULL, NULL ); |
|---|
| … | … | |
| 259 | 260 | if( (pp_block == NULL) || (*pp_block == NULL) ) |
|---|
| 260 | 261 | return NULL; |
|---|
| | 262 | |
|---|
| 261 | 263 | p_block = *pp_block; |
|---|
| 262 | 264 | *pp_block = NULL; |
|---|
| … | … | |
| 291 | 293 | goto error; |
|---|
| 292 | 294 | |
|---|
| | 295 | p_sys->b_update = VLC_FALSE; |
|---|
| 293 | 296 | p_sys->i_last_page = p_sys->i_wanted_page; |
|---|
| 294 | | p_sys->b_update = VLC_FALSE; |
|---|
| 295 | 297 | #if 0 |
|---|
| 296 | 298 | msg_Dbg( p_dec, "we now have page: %d ready for display", |
|---|
| … | … | |
| 335 | 337 | p_spu->i_flags = SUBPICTURE_ALIGN_TOP; |
|---|
| 336 | 338 | |
|---|
| 337 | | p_spu->i_start = (mtime_t) p_block->i_pts; |
|---|
| | 339 | p_spu->i_start = (mtime_t) p_block->i_dts; |
|---|
| 338 | 340 | p_spu->i_stop = (mtime_t) 0; |
|---|
| 339 | 341 | p_spu->b_ephemer = VLC_TRUE; |
|---|
| … | … | |
| 388 | 390 | vout_AllocatePicture( VLC_OBJECT(p_dec), p_pic, fmt_in.i_chroma, |
|---|
| 389 | 391 | fmt_in.i_width, fmt_in.i_height, fmt_in.i_aspect ); |
|---|
| 390 | | |
|---|
| 391 | 392 | if( !p_pic->i_planes ) |
|---|
| 392 | 393 | { |
|---|
| … | … | |
| 493 | 494 | decoder_sys_t *p_sys = (decoder_sys_t *) p_dec->p_sys; |
|---|
| 494 | 495 | uint32_t *p_begin, *p_end; |
|---|
| 495 | | unsigned int x = 0, y = 0; |
|---|
| | 496 | unsigned int x = 0, y = 0; |
|---|
| 496 | 497 | vbi_opacity opacity; |
|---|
| 497 | 498 | |
|---|
| … | … | |
| 508 | 509 | case VLC_FOURCC('R','G','B','A' ): |
|---|
| 509 | 510 | 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 ); |
|---|
| 511 | 513 | break; |
|---|
| 512 | 514 | case VLC_FOURCC('Y','U','V','A' ): |
|---|
| … | … | |
| 537 | 539 | /* Full text transparency. only foreground color is show */ |
|---|
| 538 | 540 | case VBI_TRANSPARENT_FULL: |
|---|
| | 541 | *p_begin = 0; |
|---|
| | 542 | break; |
|---|
| 539 | 543 | /* Transparency for boxed text */ |
|---|
| 540 | 544 | case VBI_SEMI_TRANSPARENT: |
|---|
| 541 | | if( (*p_begin & 0xffffff00) == 0xff ) |
|---|
| | 545 | if( (*p_begin & 0xffffff00) == 0xff ) |
|---|
| 542 | 546 | *p_begin = 0; |
|---|
| 543 | | break; |
|---|
| 544 | | default: |
|---|
| 545 | 547 | break; |
|---|
| 546 | 548 | } |
|---|