hds: avoid NULL dereference and use-after-free

(cid #1251048 and #1251059)
contrib/vpx: fix compilation for iOS
extras/ios: rework LDFLAGS handling and enable vpx for the scary build flavor
contrib/avcodec: pass extra CFLAGS as LDFLAGS on iOS to have the needed flags
mosaic: use after free
chromecast: double lock
dca: force gnu89 C standard

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
atmo: fix invalid delete
caopengllayer: use visible rect instead of layer bounds to determine the current output size
telx/zvbi: initialize aspect ratio
Chromecast: fix connection on Windows

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
vpx: properly quote VPX_LDFLAGS

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
codec: mpeg_audio: fix pts update

Fixes #12722
strings: add missing support for hexadecimal XML chracter encoding
xmlent: test case for previous commit
stream_filter: smooth: fix write overflow
stream_filter: smooth: handle "start_time" and "start time" patterns
stream_filter: smooth: rewrite buffering

Gets rid of useless indirect access to chunks.
Uses time as chunk based instead of indexes.
Does not keep chunks on live stream.
stream_filter: smooth: rewrite bw adaptation algorithm

BW measurement must be per stream as receive window/transfert
rate will differ relatively to chunk size. There's no real
way to get an accurate Max BW with such small files, but it
is still accurate to predict the BW for a download of same
size.

A validation cursor is introduced to qualify bitrates.
Cursor evolves within a window of summed download times.
Adds duration to window if > bitrate, and opposite.
  -PROBE_TIME << cursor << PROBE_TIME
Negative values makes harder to select previously unqualified
bitrates.
Stream quality will rank up quality only if next candidate has
filled its own window.
Stream reselection only occurs when cursor <= 0.
In that way, we can tolerate temporary bitrate lowering or increase
and avoid the hiccup reselection problems we had until now.
stream_filter: smooth: pass stream reference when adding new chunks