David Fuhrmann [Wed, 10 Apr 2013 15:17:20 +0000 (17:17 +0200)]
auhal: reorganize listener registration for devices list and physical formats list
- Fixes detection when spidf is available again, and resumes playing in spdif mode
if this was selected before
- Fixes audio device list rebuilt if no audio is playing
Ilkka Ollakka [Tue, 9 Apr 2013 10:30:02 +0000 (13:30 +0300)]
livehttp: add option to read key-uri and key-file from file
File is read when the segment is opened and values from file
are taken in the use. This and previous patch allows to change
encryption key/uri on the fly.
There is widespread use of words related to term synchronization
in VLC project. Also, common mistake is dropping letter H from
such words. This commit addresses this issue with exception of
not introducing letter H to word [sS]ync, thou [sS]ynch is also
correct, but really rarely used.
This fixes several skins where focus was hard to obtain, because
the slider area was not properly clipped. For instance, it fixes
the 'Modern' skin with the tiny blue equaliser in the main window.
Ronald Wright [Sat, 6 Apr 2013 20:26:17 +0000 (15:26 -0500)]
equalizer: Enforce type correctness for M_PI as well
It was my expectation that M_PI in the EqzCoeffs function is automatically cast
to a float during compile time, but my expectation turned out to be incorrect.
Specifically, I noticed in GCC's assembly output of equalizer.c that GCC was
doing the inverse by making the program convert all single-precision terms
(excluding 2.0f * M_PI) in the line containing M_PI to double-precision, and
then making it convert the double-precision result to single-precision before
the assignment to f_theta_1. As a result, M_PI must be explicitly cast to a
float.
Ilkka Ollakka [Tue, 2 Apr 2013 20:14:45 +0000 (23:14 +0300)]
livehttp: use vlc_array to store segment info
This contains filename and url and key_url, so we don't need to
iterate filename again and again and allows for example generate
other style of filenames than just segment-numbers.
Also actually allows to use strftime specifiers in filenames.
skins2: implement a caching mechanism for graphics
This patch will drastically reduce the multiple copies of the same
bitmap as graphics. It is now the GenericBitmap responsability
to create/delete one single read-only copy.
Ronald Wright [Fri, 5 Apr 2013 19:25:22 +0000 (14:25 -0500)]
equalizer: Enforce type correctness for floats
This patch enforces type correctness by changing all double-precision calls
and all double-precision and integral literals in the assignments to floats to
their single-precision equivalents.
Till now, moving a skins2 slider was only possible if the pointer didn't get
too far away from the control (hardcoded parameter of 40 pixels in skins2).
Though this feature can also be seen elsewhere (firefox slider does it too),
the result may not look so natural especially for things like equalizers.
Moreover, qt4 doesn't implement this constraint, and therefore true skins2
sliders and qt4 sliders obtained from the popup menus were behaving differently.
So better remove this limitation and make things consistent throughout vlc
(skins2 + qt4)
Ronald Wright [Thu, 28 Mar 2013 22:58:47 +0000 (17:58 -0500)]
equalizer: Optimize calculations of alpha, beta, and gamma constants
It is easy to see that the computation of the alpha constant is slightly
inefficient, as the root value can be close to 1 for the lower frequencies,
which would result in significant roundoff error if this value is subtracted
from 1. In this patch, the computation of the alpha, beta, and gamma constants
has been simplified and refactored.
Acked-by: Ilkka Ollakka <ileoo@videolan.org> Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>