osxaudiosink: fix segfault when we can't get the channels layout
multiudpsink: Also use the bind-port property if no bind-address was given
qtdemux: When using a buffered mdat, store all received data for later use

In push mode, when qtdemux can't use a seek to skip the mdat buffer it has
to buffer it for later use.

The issue is that after parsing the next moov/moof, there might be some
trailing bytes from the next atom in the file. This data was being discarded
along with the already parsed moov/moof and playback would fail to continue
after the contents of this moov/moof are played.

This is particularly bad on fragmented files that have the mdat before the
corresponding moof. So you'd get:

mdat|moof|mdat|moof ...

When a moof was received, it usually came with some extra bytes that would
belong to the next mdat (because upstream doesn't care about atoms alignment).
So those bytes were being discarded and playback would fail.

This patch makes qtdemux store those extra bytes to reuse them later after the
mdat is emptied.

https://bugzilla.gnome.org/show_bug.cgi?id=710623
qtdemux: handle fragmented files with mdat before moofs

Assume a file with atoms in the following order: moov, mdat, moof,
mdat, moof ...

The first moov usually doesn't contain any sample entries atoms (or
they are all set to 0 length), because the real samples are signaled
at the moofs. In push mode, qtdemux parses the moov and then finds the mdat,
but then it has 0 entries and assumes it is EOS.

This patch makes it continue parsing in case it is a fragmented file so that
it might find the moofs and play the media.

https://bugzilla.gnome.org/show_bug.cgi?id=710623
rtpsource: refactor receiver stats update
rtpsource: update receiver stats for sender

An internal sender in a session is also a receiver of its own packets so update
the receiver stats. Other senders in the session will use this info to generate
correct RB blocks in their SR reports.
wavenc: generate a non-empty data header

Restore the behavior of the element to the state before commit
db29522a430e44450415ca3676abd1b77ee923d9. A non-empty header is
generated and when the EOS event is received the header is generated
again, this time with the correct size.

https://bugzilla.gnome.org/show_bug.cgi?id=711699
matroskademux: Avoid division by zero assert in gst_matroska_demux_search_pos

https://bugzilla.gnome.org/show_bug.cgi?id=711829
rtpjitterbuffer: fix crash when do-retransmission=true and a lot of buffers are lost

The problem here was that the jitterbuffer lock was unlocked to push
the event, but that caused another thread to remove the timer currently
being processed, probably because the amount of rtx events
(and therefore timers) was getting too high. The solution is to
unlock and push the event only after timer processing has finished.

fixes https://bugzilla.gnome.org/show_bug.cgi?id=711131
ac3parse: correctly handle timestamps when parsing x-private1-ac3

... the way it has always worked fine in a52dec.
check: add rtpsession test

Add a basic rtpsession test to ensure that RR blocks are generated when
multiple SSRC senders are active.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711270
gstrtpsession: send custom upstream event "GstRTPCollision" on send_rtp_sink pad

See https://bugzilla.gnome.org/show_bug.cgi?id=711560
rtpsession: remove collision reconfigure event

Remove bogus reconfigure event on collision, we don't want to send the event on
the receiving RTP pad and the collision event is now handling this
case.

See https://bugzilla.gnome.org/show_bug.cgi?id=711560
v4l2: init v4l2_buffer to 0x0 before ioctl

https://bugzilla.gnome.org/show_bug.cgi?id=712137
rtspsrc: Use the synced buffer mode in auto mode if a clock provider is in the SDP
gstpay: only send one caps

Only send one caps in a packet. Two caps can happen when setcaps is called and
the config-interval expires at the same time.
jitterbuffer: advance expected seqnum after dropping

After dropping a buffer, move our expected seqnum

Conflicts:
	gst/rtpmanager/gstrtpjitterbuffer.c
v4l2object: print FOURCC_FORMAT when enumerating

https://bugzilla.gnome.org/show_bug.cgi?id=712206
rtpjitterbuffer: implement rtx statistics
rtpjitterbuffer: rename property to 'stats'

This makes the unit test work.
We can later also add more stats, not specific to retransmission.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711411