[vlc-commits] demux: ts: reject shared pes for now
Francois Cartegnie
git at videolan.org
Sun Mar 15 22:03:53 CET 2015
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Sun Mar 15 14:06:20 2015 +0100| [94f16c6b763ff45a1872854c56d60f2518477ea8] | committer: Francois Cartegnie
demux: ts: reject shared pes for now
We need one ES by program
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=94f16c6b763ff45a1872854c56d60f2518477ea8
---
modules/demux/ts.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/modules/demux/ts.c b/modules/demux/ts.c
index 8e97b89..95883c3 100644
--- a/modules/demux/ts.c
+++ b/modules/demux/ts.c
@@ -5021,6 +5021,7 @@ static void AddAndCreateES( demux_t *p_demux, ts_pid_t *pid, bool b_create_delay
if( pid && p_sys->es_creation == CREATE_ES )
{
+ /* FIXME: other owners / shared pid */
pid->u.p_pes->es.id = es_out_Add( p_demux->out, &pid->u.p_pes->es.fmt );
for( int i = 0; i < pid->u.p_pes->extra_es.i_size; i++ )
{
@@ -5221,6 +5222,11 @@ static void PMTCallBack( void *data, dvbpsi_pmt_t *p_dvbpsipmt )
ts_pes_t *p_pes;
ts_pid_t *pespid = &p_sys->pid[p_dvbpsies->i_pid];
+ if ( pespid->type == TYPE_PES && pespid->p_parent->u.p_pmt->i_number != p_pmt->i_number )
+ {
+ msg_Warn( p_demux, " * PMT wants to get a share or pid %d (unsupported)", pespid->i_pid );
+ continue;
+ }
/* Find out if the PID was already declared */
for( int i = 0; i < old_es_rm.i_size; i++ )
More information about the vlc-commits
mailing list