libavutil will always check for all CPU features that it understands,
even those VLC masked. Thus masking features provides no savings.
libavutil runs more tests than VLC. Depending on the platform and
operating system combination, libavutil is either as conservative or
more conservative than VLC. As such masking features provides no extra
safety.
So overall, GetVlcDspMask() is useless, at least nowadays.
Android ARM NEON seems controversial so it is kept for now.
Fix a crash when parsing subtitles. From the man page of sscanf:
"the next pointer must be a pointer to character array that is long
enough to hold the input sequence and the terminating null byte"
Signed-off-by: Ilkka Ollakka <ileoo@videolan.org>
This is an inclusion of a patch that has been living out-of-tree for some time,
but now as Cubemap 1.0.0 has been released and the protocol has been frozen,
it would sound reasonable to get it into mainline.
Essentially it makes the VLC HTTP server support the Metacube protocol, which
is a framing format to let an external reflector know where the start and end
of the blocks are without having to understand the format itself (similar to
how the VLC HTTP server itself gets to know this information). This lets it
serve the correct header block to new clients joining in the middle of the
stream, and makes sure new clients don't start in the middle of a block,
which is a problem for non-self-synchronizing formats (such as FLV and WebM).
It includes self-synchronization and header checksumming to ensure smooth
recovery from overruns in the server-to-reflector TCP stream.
The only consumer of this protocol currently, and for the foreseeable future,
is Cubemap (http://git.sesse.net/?p=cubemap), a scalable video reflector
designed to be used with VLC.
Signed-off-by: Denis Charmet <typx@dinauz.org>
Getting the current format is unreliable, for instance if the audio
cable is plugged in while playback is running. Thus only the
first original format is trusted.
close#9957
Some OS/2 APIs are not high-memory safe. So there are needs to use wrapper
functions to make them high-memory safe.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>