[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How does MPE handle the last byte?



Quite so.  I didn't mean to imply that, I wanted to make sure we
understood what
SHOULD happen if the MPEG-2 TS-Packet didn't contain a pointer, i.e. it
had one byte
of payload left, *AND* the encapsulator was configured to start the next payload
directly folloiwng the previous (what I call "section packing"). 

So, after processing the end of the payload section, the packet has no 
pointer (and PUSI==0), and one spare byte.  To start a new payload, it
needs 
to set PUSI=1, and include a 1 B pointer - but that consumes the
last byte, so it's silly. What happens?

Gorry

juha-pekka.luoma@nokia.com wrote:
> 
> Hi Gorry et al.,
> 
> Just a comment that including a pointer in a TS packet that did not contain at least the first byte of a new section would seem to be against the MPEG-2 spec. Quoting 2.4.4.1 of ISO 13818-1,
> 
> "When no section begins in a given Transport Stream packet, then the payload_unit_start_indicator shall be set to 0 and no pointer shall be sent in the payload of that packet."
> 
> Best regards,
> 
> Juha-Pekka Luoma
> Nokia Research Center
> 
> -----Original Message-----
> From: ext Dr G Fairhurst [mailto:gorry@erg.abdn.ac.uk]
> Sent: 21 August, 2003 14:44
> To: ip-dvb@erg.abdn.ac.uk
> Subject: How does MPE handle the last byte?
> 
> Before we suggest a strategy for the new encapsulation formats,
> can someone tell me what happens in real implementations when MPE
> employs section packing (i.e. is allowed to start a new encapsulated
> MPE packet following the rpeviosu in the same MPEG-2 TS Packet).
> 
> Problem case:
> 
> When TS Packet payload is nearly full... i.e. when
> a SNDI (IP packet, etc) occupies all but the last byte of
> the final MPEG-2 TS-Packet Payload, and there is another
> IP packet waiting to be sent.
> 
> What does the encapsulator do if this TS-Packet has no PUSI
> set, since setting the PUSI flag implies that encapsulator
> would also include a Payload start pointer in the first
> position after the TS-Packet header. This pointer consumes
> the last byte... leaving nothing for it to point at.
> 
> A picture:
> 
> +----------------------\\------------------+--+
> |........................ \\ SNDU..........|XX|
> +--------------------------\\--------------+--+
> 
> ^
> |
> NO PUSI - and Hence no payload pointer here.
> 
> Gorry