[vlc-commits] TS demux: set PCR for all programs
Rafaël Carré
git at videolan.org
Sat Jul 26 01:19:57 CEST 2014
vlc/vlc-2.2 | branch: master | Rafaël Carré <funman at videolan.org> | Tue Jul 8 18:33:12 2014 +0200| [253b10a0dcd47dda203bf02407a99c4c63f7ad6c] | committer: Jean-Baptiste Kempf
TS demux: set PCR for all programs
Using the currently selected programs is wrong when we're using another
filter than --program.
Unconditionally use the PTS/DTS as PCR, which fixes automatically
lack of PCR.
Let's keep --no-ts-trust-pcr for when PCR is completely broken
--
Using both PCR and ES PTS seems to cause problems in some cases
(cherry picked from commit 8eb0b3d3b53c29b3495dcac275b5fe51f7633a6b)
(cherry picked from commit 5478a4d90b357c81b8e01f337aca0b9bb682605d)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=253b10a0dcd47dda203bf02407a99c4c63f7ad6c
---
modules/demux/ts.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/demux/ts.c b/modules/demux/ts.c
index 49ab933..a90d321 100644
--- a/modules/demux/ts.c
+++ b/modules/demux/ts.c
@@ -1732,9 +1732,9 @@ static void ParsePES( demux_t *p_demux, ts_pid_t *pid, block_t *p_pes )
block_Duplicate( p_block ) );
}
- if (!p_sys->b_trust_pcr && pid->i_owner_number == p_sys->i_current_program) {
- es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_block->i_pts);
- }
+ if (!p_sys->b_trust_pcr)
+ es_out_Control( p_demux->out, ES_OUT_SET_GROUP_PCR,
+ pid->i_owner_number, p_block->i_pts);
es_out_Send( p_demux->out, pid->es->id, p_block );
}
More information about the vlc-commits
mailing list