diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-09-14 20:08:42 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-09-14 20:08:42 +0000 |
commit | abfe1d69a1fcd4ca335007c81bf0c82396529088 (patch) | |
tree | 840d3ecc65347f4f1db272e934f1ea0c5a4c4847 /libmpdemux/demux_ty.c | |
parent | f1f27ada1a19899e965ed453919ef8290b710801 (diff) | |
download | mpv-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.c | 42 |
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 }; |