demux: mpegts: handle "empty" p_pkt in PushPESBlock()
Hi!
When a discontinuity is indicated, my bluray subtitle pid reads an empty PES packet (p_pkt->i_buffer==0). I think that such packets are not supposed to be chained in PushPESBlock(), since they change the expected relation between gather.data (not null) and gather.i_data_size (0) on subsequent subtitle packets processing.
The noticeable behaviour observed when a discontinuity is crossed is that subtitles packets are processed only after the next packet has been pushed. This causes subtitles to remain displayed on screen until the next subtitle replaces it: the last subtitle packet usually is the "end of display set segment", and it can remain gathered and not pushed for a potentially long time.