Packetizer is capable of:
- repacketizing and reconstructing timestamps for a Dirac ES
suitable for remultiplexing and decoding.
- sanitizing an input stream that has non-signalled discontinuities
- handling the basket case AVI fake-pts-is-dts method too:
For a non well formed input (only has pts or dts), this is
implemented by simulating the ReOrder Buffer model to resolve
timestamps.
Updated
20090507 with:
- use VLC_TS_INVALID rather than private block flags
- removed useless i_sync_flags
- add support for next_parse_offset == 0
- eliminate dirac_FindEOS
- use block_t's p_priv to avoid dirac_FindPictureNumber
- remove b_picture_number, add parsecode helpers
- when stream jumps backwards, generate correct EOS DU
- dont use block_FindMaskedFlags
- remove openloop fastsync
- guarantee synchro sees EOS, remove duplicate EOS DUs
- dont blindly believe that a data unit is > 1MB
- fix compilation warning
- fix issue with unsyncable p_extra
- rearange file
- add sanitization of prev_parse_offset
- do duplicate EOS detection at the right place
- move all operations on outqueue to Packetize
- fix stupid offbyone on location of prev_parse_offset
- sanity check output of sync at input to encapsualator
- refactor dirac_BuildEncapsulationUnit
- keep hold of precious timestamps
- unfortunately block_t has no p_priv
Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Laurent Aimar <fenrir@videolan.org>