summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_ty.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-09-14 20:08:42 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-09-14 20:08:42 +0000
commitabfe1d69a1fcd4ca335007c81bf0c82396529088 (patch)
tree840d3ecc65347f4f1db272e934f1ea0c5a4c4847 /libmpdemux/demux_ty.c
parentf1f27ada1a19899e965ed453919ef8290b710801 (diff)
downloadmpv-abfe1d69a1fcd4ca335007c81bf0c82396529088.tar.bz2
mpv-abfe1d69a1fcd4ca335007c81bf0c82396529088.tar.xz
Simplify demux_ty_FindESPacket by reusing demux_ty_FindESHeader
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24500 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_ty.c')
-rw-r--r--libmpdemux/demux_ty.c42
1 files changed, 10 insertions, 32 deletions
diff --git a/libmpdemux/demux_ty.c b/libmpdemux/demux_ty.c
index 127c5bade8..955239ad2a 100644
--- a/libmpdemux/demux_ty.c
+++ b/libmpdemux/demux_ty.c
@@ -377,38 +377,16 @@ static int demux_ty_FindESHeader( unsigned char *header,
static void demux_ty_FindESPacket( unsigned char *header,
unsigned char *buffer, int bufferSize, int *esOffset1, int *esOffset2 )
{
- int count;
-
- *esOffset1 = -1;
- *esOffset2 = -1;
-
- for( count = 0 ; count < bufferSize ; count++ )
- {
- if ( buffer[ count + 0 ] == header[ 0 ] &&
- buffer[ count + 1 ] == header[ 1 ] &&
- buffer[ count + 2 ] == header[ 2 ] &&
- buffer[ count + 3 ] == header[ 3 ] )
- {
- *esOffset1 = count;
- break;
- }
- }
-
- if ( *esOffset1 != -1 )
- {
- for( count = *esOffset1 + 1 ;
- count < bufferSize ; count++ )
- {
- if ( buffer[ count + 0 ] == header[ 0 ] &&
- buffer[ count + 1 ] == header[ 1 ] &&
- buffer[ count + 2 ] == header[ 2 ] &&
- buffer[ count + 3 ] == header[ 3 ] )
- {
- *esOffset2 = count;
- break;
- }
- }
- }
+ *esOffset1 = demux_ty_FindESHeader(header, buffer, bufferSize);
+ if (*esOffset1 == -1) {
+ *esOffset2 = -1;
+ return;
+ }
+ buffer += *esOffset1 + 1;
+ bufferSize -= *esOffset1 + 1;
+ *esOffset2 = demux_ty_FindESHeader(header, buffer, bufferSize);
+ if (*esOffset2 != -1)
+ *esOffset2 += *esOffset1 + 1;
}
static unsigned char ty_VideoPacket[] = { 0x00, 0x00, 0x01, 0xe0 };