Revert "swscale: scale the whole picture (fixes #12085)"
This reverts commit 44d4685b1ca4d1b58c4ce77d479103d482be5d14.
When using a scaling algorithm other than nearest neighbor, this change
caused the picture padding to be scaled with the video.
XCB/XVideo: request correct picture format from the adaptor
This is bug compatibility for XVideo drivers that scale the whole
picture rather than the source rectangle (the XVideo 2 specification
does not really state which behaviour is correct).
This works because the video output core only applies crop parameters
*after* the vout display plugin is activated. This is brittle though:
the A/R and crop parameters should probably be passed as configuration
like zoom.
KO Myung-Hun [Mon, 8 Dec 2014 02:58:18 +0000 (11:58 +0900)]
access_mms: fix linkage on OS/2
-----
CCLD libaccess_mms_plugin.la
weakld: error: Unresolved symbol (UNDEF) '_vlc_poll'.
weakld: info: The symbol is referenced by:
P:\tmp\ldconv_libaccess_mms_plugin_la-mmstu_38da54703f4316fd10.obj
Ignoring unresolved externals reported from weak prelinker.
Error! E2028: _vlc_poll is an undefined reference
file P:/tmp\ldconv_libaccess_mms_plugin_la-mmstu_38da54703f4316fd10.obj(ldconv_libaccess_mms_plugin_la-mmstu_38da54703f4316fd10.obj): undefined symbol _vlc_poll
-----
stream_out: rtp: don't use VLA for user controlled data
It should fix a possible invalid memory access
When streaming ogg-files via rtp, an ogg-file can trigger an invalid
write access using an overly long 'configuration' string.
The original code attemps to allocate space to hold the string on the stack
and hence, cannot verify if allocation succeeds. Instead, we now allocate the
buffer on the heap and return if allocation fails.
In detail, rtp_packetize_xiph_config allocates a buffer on the stack at (1) where
the size depends on the local variable 'len'. The variable 'len' is
calculated at (0) to be the length of a string contained in a specially
crafted Ogg Vorbis file, and therefore, it is attacker-controlled.
On 32 bit builds, parsing of update status files with a size of 4294967295 or more lead to an integer truncation in a call to malloc
and a subsequent buffer overflow. This happened prior to checking the
files' signature. The commit fixes this by disallowing overly large
status files (above 65k in practice)
demux: mp4: fix buffer overflow in parsing of string boxes.
We ensure that pbox->i_size is never smaller than 8 to avoid an
integer underflow in the third argument of the subsequent call to
memcpy. We also make sure no truncation occurs when passing values
derived from the 64 bit integer p_box->i_size to arguments of malloc
and memcpy that may be 32 bit integers on 32 bit platforms.
The variable len is a raw 32 bit value read using GetDWBE. If this
value is larger than UINT32_MAX - sizeof(eos), this will cause an
integer overflow in the subsequent call to malloc, and finally a
buffer overflow when calling memcpy. We fix this by checking len
accordingly.
Ilkka Ollakka [Thu, 4 Dec 2014 14:45:36 +0000 (16:45 +0200)]
livehttp: don't remove previous playlist on open if segment-number is given
If we provide initial segment-number, most likely we want to continue
where we have left of, so leave old playlist-file there and just
overwrite it when we updated it.
default initial-segment-number is 1 so don't test against 0
Everybody should install the underlying libraries somewhere and, if
necessary, pass --with-* to specify the installation path (this is
automatic for VLC contribs).
Lochlin Duperron [Tue, 11 Nov 2014 07:46:26 +0000 (07:46 +0000)]
Adds batch convert support to the VLC GUI.
This commit modifies the convert wizard to accept multiple files from the file dialog box
The GUI should operate the same when a single file is selected (providing
an option of where and what to name the file), but when multiple files are
selected the files are placed into the same folder with the same name and a
new extention (there is an option to append -converted if you are converting
to the same extention).
There are some tooltips to explain this operation.
Most of the changes are pretty straight-forward, converting QStrings to
QStringLists and passing the full list of MRLs around. The playlist already
supports the batch processing in a pretty straightforward way, so there's no
issues there.
StandardPanel.cpp was modified to create a temp QStringList for passing to the
streamingDialog, as it now takes the full list of input files rather than just
one
Convert.cpp/hpp modified to take the QStringList and to behave (semi)-intelligently when reciving multiple files,
Open.cpp modified to pass the MRLs rather than MRL[0]
and the Dialogs_provider.cpp/hpp to pass the MRLs along, pretty much.
It also clears the playlist when recieving a list and starts the playlist from the beginning when it's added all the files to be converted.