This requires SHOUT_FORMAT_WEBM, added in libshout 2.3.0,
so video/webm support is contingent on that symbol being
defined.
Also an indentation change required by the pre-commit hook.
https://bugzilla.gnome.org/show_bug.cgi?id=669590
Move common code to jackclient. There we can also handle the request state
message in a better way, as the element callbacks are only run if the element is
active.
pulseaudiosink breaks visualisations in its current form, so let's
prevent it from being autoplugged for the time being.
The best we can hope to do in the 0.10 series is query the list of
available sinks and their formats, and expose these as the bin's sinkpad
caps. While this is not a comprehensive solution, it will make sure that
we're only trying to support compressed formats if we're certain that
one exists.
The long-term fix for this will be in the form of proper upstream
renegotiation support in the 0.11/1.0 series.
https://bugzilla.gnome.org/show_bug.cgi?id=666361
pa_stream_* functions return negative on error, despite the defines
for error codes being positive.
I only got to repro the error twice, so I'm not sure 100% sure this
fixes the issue (the negative var being uninitialized after returning
from pa_stream_get_latency).
Clients can configure the desired behaviour via "transport" property. The
default behaviour is ignoring the transport state. Other modes are master and
slave.
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
Fix crash or hang in generic/states unit test when doing stop()
right after start(). Create main loop in the start function already
and not just in the thread function, so that stop() always has a
valid main loop to quit on. Also, calling g_main_loop_quit() before
g_main_loop_run() won't work and result in the stop function waiting
for the thread to join forever. Therefore, wait for the thread to
be ready and get the main loop running in the start() function, to
be sure stop() always works.
PulseAudio 1.0 supports per-source-output volumes, and this exposes the
functionality via the GstStreamVolume interface.
When compiled against pre-1.0 PulseAudio, the interface is not
implemented, and the "volume" or "mute" properties are not available.
This bit of ugliness will go away when we can depend on PulseAudio 1.0
or greater.
https://bugzilla.gnome.org/show_bug.cgi?id=595055
Apparently libpng can technically do up to 2^31-1 rows and columns. However it
imposes an (arbitrary) default limit of 1 million (that could theoretically be
lifted by using some additional API).
Moved array allocation to the heap now.
A setcaps function needs to actually verify the caps carefully. In this case,
it was possible to e.g. link a video decoder with YUV+RGB template caps to
pngenc. That would cause a crash when the decoder pushes a YUV buffer. Same
thing when pushing a valid buffer that exceeds the resolution limits.
Also, missing framerate caps field would cause a glib critical warning due to
invalid GValue. This fails hard now.