The old logic was so complex (even within parse_start_unit_packet()
there were two or three places were data was sent to the packetizer)
that it had to be simplified a lot. The new logic knows only three
cases:
1. When parsing a normal packet then data is sent to the packetizer if
and only if the expected PES size is known (!= 0) and the accumulated
PES data's size equals the expected PES size.
2. When parsing a "start unit" packet then there are two cases:
2.a. If the previous unit's expected PES size is unknown ( == 0) then
all data gathered so far is sent to the packetizer.
2.b. Otherwise (the expected PES size is known) the packet must be too
short or too large. Otherwise it would have been sent to the
packetizer in case 1. already.
On top the packet's data is cleared in both "send_to_packetizer()" and
in "probe_packet_complete()", the two functions that handle complete
packets in the muxing phase ("send_to_packetizer()") respectively
probing phase ("probe_packet_complete()").
Fixes#1553.