summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_ts.c
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-05-13 10:09:33 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-05-13 10:09:33 +0000
commita36608cd9a12ad17e538836c4f1b7e50978d8428 (patch)
tree9efc4c021bd0412084e63a4175db79157cc2bb0e /libmpdemux/demux_ts.c
parent84106656c9dbffb9758e7bb35eeed96d4cb67a82 (diff)
downloadmpv-a36608cd9a12ad17e538836c4f1b7e50978d8428.tar.bz2
mpv-a36608cd9a12ad17e538836c4f1b7e50978d8428.tar.xz
when searching ac3 in unqualified pes_private1 streams there's no need to scan > 64 KB of data: frames can't be so far apart
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18475 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_ts.c')
-rw-r--r--libmpdemux/demux_ts.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c
index 40890b915b..aa6176b09c 100644
--- a/libmpdemux/demux_ts.c
+++ b/libmpdemux/demux_ts.c
@@ -570,6 +570,8 @@ static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param)
if((es.type == PES_PRIVATE1) && (! audio_found))
{
pptr = &pes_priv1[es.pid];
+ if(pptr->pos < 64*1024)
+ {
tmpbuf = (char*) realloc(pptr->buf, pptr->pos + es.size);
if(tmpbuf != NULL)
{
@@ -583,6 +585,7 @@ static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param)
es.type = AUDIO_A52;
}
}
+ }
}
is_audio = IS_AUDIO(es.type) || ((es.type==SL_PES_STREAM) && IS_AUDIO(es.subtype));