Changeset e3a6345c819709da452d4db7ce123b8eba70cb6f
- Timestamp:
- 24/08/04 00:16:58
(4 years ago)
- Author:
- Laurent Aimar <fenrir@videolan.org>
- git-committer:
- Laurent Aimar <fenrir@videolan.org> 1093299418 +0000
- git-parent:
[b9c133227e1a1cfa9d4443990f2078b77767ab9f]
- git-author:
- Laurent Aimar <fenrir@videolan.org> 1093299418 +0000
- Message:
- ps.c: handle PES with 0 size. (look for next start code, slow but
better that nothing).
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r9ef9462 |
re3a6345 |
|
| 330 | 330 | int i_size = ps_pkt_size( p_peek, i_peek ); |
|---|
| 331 | 331 | |
|---|
| 332 | | if( i_size > 0 ) |
|---|
| 333 | | { |
|---|
| | 332 | if( i_size <= 6 && p_peek[3] > 0xba ) |
|---|
| | 333 | { |
|---|
| | 334 | /* Special case, search the next start code */ |
|---|
| | 335 | i_size = 6; |
|---|
| | 336 | for( ;; ) |
|---|
| | 337 | { |
|---|
| | 338 | i_peek = stream_Peek( s, &p_peek, i_size + 1024 ); |
|---|
| | 339 | if( i_peek <= i_size + 4 ) |
|---|
| | 340 | { |
|---|
| | 341 | return NULL; |
|---|
| | 342 | } |
|---|
| | 343 | while( i_size <= i_peek - 4 ) |
|---|
| | 344 | { |
|---|
| | 345 | if( p_peek[i_size] == 0x00 && p_peek[i_size+1] == 0x00 && p_peek[i_size+2] == 0x01 && p_peek[i_size+3] >= 0xb9 ) |
|---|
| | 346 | { |
|---|
| | 347 | return stream_Block( s, i_size ); |
|---|
| | 348 | } |
|---|
| | 349 | i_size++; |
|---|
| | 350 | } |
|---|
| | 351 | } |
|---|
| | 352 | } |
|---|
| | 353 | else |
|---|
| | 354 | { |
|---|
| | 355 | /* Normal case */ |
|---|
| 334 | 356 | return stream_Block( s, i_size ); |
|---|
| 335 | 357 | } |
|---|
| | 358 | |
|---|
| 336 | 359 | return NULL; |
|---|
| 337 | 360 | } |
|---|
| | 361 | |
|---|