[vlc-devel] [PATCH] Fixed two issues that conspired to make transcoding MPEG-TS streams with DVB-subtitles using soverlay impossible (seems to be broken since 0.8.6a):
Peter Bak Nielsen
peter.bak.nielsen at gmail.com
Sun Jan 3 19:52:21 CET 2010
In modules/demux/ts.c:
Skipped DVB-subtitles seemingly on purpose when output is a stream.
I can't make out why that would be a good idea, but it masks the
second issue below, so perhaps this is the reason. Anyway, I removed
the check allowing subtitles to proceed.
In modules/codec/dvbsub.c:
The module did not mark the subtitles it produces with "b_subtitle == true",
which causes them to be handled as OSD, and thus allowing them to become
out of sync unless video was streamed in real time...
---
modules/codec/dvbsub.c | 1 +
modules/demux/ts.c | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/modules/codec/dvbsub.c b/modules/codec/dvbsub.c
index 105b692..31c4a8e 100644
--- a/modules/codec/dvbsub.c
+++ b/modules/codec/dvbsub.c
@@ -1488,6 +1488,7 @@ static subpicture_t *render( decoder_t *p_dec )
p_spu->b_ephemer = true;
//p_spu->b_fade = true;
//p_spu->i_stop = p_spu->i_start + (mtime_t) (i_timeout * 1000000);
+ p_spu->b_subtitle = true;
/* Correct positioning of SPU */
i_base_x = p_sys->i_spu_x;
diff --git a/modules/demux/ts.c b/modules/demux/ts.c
index bec293d..fc34886 100644
--- a/modules/demux/ts.c
+++ b/modules/demux/ts.c
@@ -3461,7 +3461,7 @@ static void PMTSetupEsDvbSubtitle( demux_t *p_demux, ts_pid_t *pid,
#endif
/* In stream output mode, do not separate the stream by page */
- if( p_demux->out->b_sout || i_page <= 0 )
+ if( i_page <= 0 )
{
p_fmt->subs.dvb.i_id = -1;
p_fmt->psz_description = strdup( _("DVB subtitles") );
--
1.6.3.3
More information about the vlc-devel
mailing list