[vlc-devel] ts and PES dts

Sébastien Escudier sebastien-devel at celeos.eu
Wed Nov 12 11:35:09 CET 2008

Quoting Laurent Aimar <fenrir at via.ecp.fr>:
>  Btw, another solution would be to use unlimited PES by using 0 as PES size.
> But it is allowed only for video.

- pes-max-size is not implemented for ts, only for ps. But may be a good idea to
add it in ts.
- 0 does not mean unlimited. it means default value stored in
ES_PAYLOAD_SIZE_MAX which is 65500.

I wrote a patch to correct this, but then I saw that pes_size is limited to 16
bits, because this size is written like this in PES header : bits_write( &bits,
16, i_es_size ); So for now this is useless, and this solution can't work.
Would it be possible to increase this 16bit storage length in header ?
(btw, this issue makes ps-pes-max-size broken. There is no bound check).

For the original issue, (no dts in pes after the first PES block), it is not
working to set dts directly into the block_t, instead of the header, because
dts is read in the header in ts demuxer.
If I understand ts muxer well, dts/pts PES blocks values are not written in *TS*
small blocks. So the only way to set a dts is in PES header.

More information about the vlc-devel mailing list