On windows builds, sets source address for bind to INADDR_ANY, while
maintaining the original multicast group address for subsequent join.
Fixes#595978
Skip everything before the @ sign in the url location. VLC uses that as the
remote address to connect to (but we ignore it for now). This makes our udp urls
compatible with the ones used by VLC.
Fixes#597695
Keep a global connection for aggregate control but also keep stream connections
for non-aggregate control.
Add some helper methods to connect/close/flush the connections.
Subsequent entry time calculations use blockalign value to determine
number of frames per chunk, and blockalign == 1 is then most unlikely to result
in reasonable values (which also aligns with "spec").
So matroska's Block structure has no keyframe flag, only the SimpleBlock has it.
To detect keyframes in Blocks, it is just the BlockGroup container that needs
to have a ReferenceBlock attached if it is a delta frame in video.
Use new dts audio typefinder from -base to check if the PCM data
contains a dts stream. This way we recognise more varieties more
reliably and also detect the dts stream if there isn't a frame
sync right at the start of the data.
Fixes#413942.
Start cluster at every keyframe or when we would overflow the previous
cluster's relative timestamp field. This would avoid as much as possible
starting clusters at non-keyframes.
Don't send them upstream because for upstream a BYTES seek
might make sense but is completely wrong because upstream
can't seek to a byte position of the audio or video stream.
Also don't build the index in push mode for non-TIME seeks,
things will go wrong here otherwise.
This allows us to skip delta units earlier and is a bit clearer in my
opinion. It also makes only video buffers ever be delta units, not
just for SimpleBlock as before.
When the keyframe bit of SimpleBlock Flags wasn't set, the buffer was being
marked with GST_BUFFER_FLAG_DELTA_UNIT, causing all buffers to be skipped
after a seek. This may be a problem with the Sorenson Squish encoder, but
arguably the keyframe bit should only be applied to video.
Fixes bug #620358.