[Spice-commits] src/spice-gstaudio.c
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 14 14:37:22 UTC 2019
src/spice-gstaudio.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
New commits:
commit 2971fbd653b7fa9f77f7fb0c6be6724b11439cb1
Author: Snir Sheriber <ssheribe at redhat.com>
Date: Mon Jan 14 12:45:58 2019 +0200
gstaudio: set object also when GstStreamVolume is not implemented
If GstStreamVolume is not implemented (e.g. in alsasrc) element value is
set to NULL, this is causing some g_object assertions to fail.
Signed-off-by: Snir Sheriber <ssheribe at redhat.com>
Acked-by: Marc-André Lureau <marcandre.lureau at redhat.com>
diff --git a/src/spice-gstaudio.c b/src/spice-gstaudio.c
index d0cfbc6..84f452d 100644
--- a/src/spice-gstaudio.c
+++ b/src/spice-gstaudio.c
@@ -344,7 +344,7 @@ static void playback_data(SpicePlaybackChannel *channel,
static void playback_volume_changed(GObject *object, GParamSpec *pspec, gpointer data)
{
SpiceGstaudio *gstaudio = data;
- GstElement *e;
+ GstElement *e = NULL;
guint16 *volume;
guint nchannels;
SpiceGstaudioPrivate *p = gstaudio->priv;
@@ -365,7 +365,7 @@ static void playback_volume_changed(GObject *object, GParamSpec *pspec, gpointer
if (GST_IS_BIN(p->playback.sink))
e = gst_bin_get_by_interface(GST_BIN(p->playback.sink), GST_TYPE_STREAM_VOLUME);
- else
+ if (!e)
e = g_object_ref(p->playback.sink);
if (GST_IS_STREAM_VOLUME(e))
@@ -380,7 +380,7 @@ static void playback_mute_changed(GObject *object, GParamSpec *pspec, gpointer d
{
SpiceGstaudio *gstaudio = data;
SpiceGstaudioPrivate *p = gstaudio->priv;
- GstElement *e;
+ GstElement *e = NULL;
gboolean mute;
if (!p->playback.sink)
@@ -391,7 +391,7 @@ static void playback_mute_changed(GObject *object, GParamSpec *pspec, gpointer d
if (GST_IS_BIN(p->playback.sink))
e = gst_bin_get_by_interface(GST_BIN(p->playback.sink), GST_TYPE_STREAM_VOLUME);
- else
+ if (!e)
e = g_object_ref(p->playback.sink);
if (GST_IS_STREAM_VOLUME(e))
@@ -404,7 +404,7 @@ static void record_volume_changed(GObject *object, GParamSpec *pspec, gpointer d
{
SpiceGstaudio *gstaudio = data;
SpiceGstaudioPrivate *p = gstaudio->priv;
- GstElement *e;
+ GstElement *e = NULL;
guint16 *volume;
guint nchannels;
gdouble vol;
@@ -424,7 +424,7 @@ static void record_volume_changed(GObject *object, GParamSpec *pspec, gpointer d
if (GST_IS_BIN(p->record.src))
e = gst_bin_get_by_interface(GST_BIN(p->record.src), GST_TYPE_STREAM_VOLUME);
- else
+ if (!e)
e = g_object_ref(p->record.src);
if (GST_IS_STREAM_VOLUME(e))
@@ -439,7 +439,7 @@ static void record_mute_changed(GObject *object, GParamSpec *pspec, gpointer dat
{
SpiceGstaudio *gstaudio = data;
SpiceGstaudioPrivate *p = gstaudio->priv;
- GstElement *e;
+ GstElement *e = NULL;
gboolean mute;
if (!p->record.src)
@@ -450,7 +450,7 @@ static void record_mute_changed(GObject *object, GParamSpec *pspec, gpointer dat
if (GST_IS_BIN(p->record.src))
e = gst_bin_get_by_interface(GST_BIN(p->record.src), GST_TYPE_STREAM_VOLUME);
- else
+ if (!e)
e = g_object_ref(p->record.src);
if (GST_IS_STREAM_VOLUME (e))
@@ -558,7 +558,7 @@ static gboolean spice_gstaudio_get_playback_volume_info_finish(SpiceAudio *audio
GError **error)
{
SpiceGstaudioPrivate *p = SPICE_GSTAUDIO(audio)->priv;
- GstElement *e;
+ GstElement *e = NULL;
gboolean lmute;
gdouble vol;
GTask *task = G_TASK(res);
@@ -582,7 +582,7 @@ static gboolean spice_gstaudio_get_playback_volume_info_finish(SpiceAudio *audio
if (GST_IS_BIN(p->playback.sink))
e = gst_bin_get_by_interface(GST_BIN(p->playback.sink), GST_TYPE_STREAM_VOLUME);
- else
+ if (!e)
e = g_object_ref(p->playback.sink);
if (GST_IS_STREAM_VOLUME(e)) {
@@ -640,7 +640,7 @@ static gboolean spice_gstaudio_get_record_volume_info_finish(SpiceAudio *audio,
GError **error)
{
SpiceGstaudioPrivate *p = SPICE_GSTAUDIO(audio)->priv;
- GstElement *e;
+ GstElement *e = NULL;
gboolean lmute;
gdouble vol;
gboolean fake_channel = FALSE;
@@ -665,7 +665,7 @@ static gboolean spice_gstaudio_get_record_volume_info_finish(SpiceAudio *audio,
if (GST_IS_BIN(p->record.src))
e = gst_bin_get_by_interface(GST_BIN(p->record.src), GST_TYPE_STREAM_VOLUME);
- else
+ if (!e)
e = g_object_ref(p->record.src);
if (GST_IS_STREAM_VOLUME(e)) {
More information about the Spice-commits
mailing list