[vlc-commits] demux: ogg: better track of es state
Francois Cartegnie
git at videolan.org
Mon Dec 30 15:42:11 CET 2013
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Dec 30 14:13:02 2013 +0100| [723a1c363f2eb178c95aaa900fcefdc4b53e29cd] | committer: Francois Cartegnie
demux: ogg: better track of es state
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=723a1c363f2eb178c95aaa900fcefdc4b53e29cd
---
modules/demux/ogg.c | 13 ++++---------
modules/demux/ogg.h | 1 +
2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c
index 6fe9228..1b5a414 100644
--- a/modules/demux/ogg.c
+++ b/modules/demux/ogg.c
@@ -291,16 +291,10 @@ static int Demux( demux_t * p_demux )
}
}
- if ( p_sys->b_preparsing_done )
+ if ( p_sys->b_preparsing_done && !p_sys->b_es_created )
{
- for ( int i=0; i < p_sys->i_streams; i++ )
- {
- if ( !p_sys->pp_stream[i]->p_es )
- {
- Ogg_CreateES( p_demux );
- break;
- }
- }
+ Ogg_CreateES( p_demux );
+ p_sys->b_es_created = true;
}
/*
@@ -1944,6 +1938,7 @@ static void Ogg_EndOfStream( demux_t *p_demux )
p_ogg->skeleton.major = 0;
p_ogg->skeleton.minor = 0;
p_ogg->b_preparsing_done = false;
+ p_ogg->b_es_created = false;
p_ogg->i_pcr_offset = p_ogg->i_pcr;
/* */
diff --git a/modules/demux/ogg.h b/modules/demux/ogg.h
index 3ec4d24..b0d8508 100644
--- a/modules/demux/ogg.h
+++ b/modules/demux/ogg.h
@@ -173,6 +173,7 @@ struct demux_sys_t
/* preparsing info */
bool b_preparsing_done;
+ bool b_es_created;
/* Length, if available. */
int64_t i_length;
More information about the vlc-commits
mailing list