Following the ed4d08189ea6e19a50e029e60da52d3583c39fbb
commit, this one fixes rtpasfpay to use packet length
as the payloaded data length, but also accepting it
as the full packet size for compatibility with
other implementations due to the lack of clarity of the
spec in this part.
Makes the asfmux content compatible with WMSP and does
some hacks to make it playable in WMP, it doesn't accept
data objects with 0 size indicating that we don't know
its size, though the spec says it should be possible.
Fixes#607555
Prevents losing sync when remuxing streams with different
start times. The smallest start time is selected as
the base time and all timestamps are subtracted
from it to get the actual time to be used when
muxing and building indexes
Fixes#586848
g_convert seems to add a single null terminating byte to
the end of the string, even when the output is UTF16, we
force the second 0 byte when copying to the output buffer.
This issue was causing random crashes because it was
assumed that the string resulting from g_convert had
2 extra bytes, but it has only one.
asfmux was messing up with the GstCollectData list of its
GstCollectPads when sorting the list inplace. This patch makes
it copy the list before sorting it, leaving the GstCollectPads
list as is. Fixes#591610
The ASF RTP spec demands that packets have their padding removed
and the padding size field set to 0 for packets when puting them
inside the RTP packets
Adds the brand new asfmux plugin, containing 3 elements:
asfmux, rtpasfpay and asfparse. This plugin was developed
as a GSoC 2009 project, with David Schleef as the mentor and
Thiago Santos as the student.