<div dir="ltr"><div><span style="color:rgb(0,0,0);white-space:pre-wrap">Thanks for your respone!</span><br></div><div><br></div><div>It's strange that client can play audio, but can't set volume.</div><div><br></div>
<div>I have renamed the \lib\gstreamer-0.10\libgstdirectsoundsink.dll, the result is no audio can play.</div><div><br></div><div>I have no idea what the problem is. May I verifiy the <span style="color:rgb(0,0,0);white-space:pre-wrap">directsoundsink element have been included?</span></div>
<div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div>Thanks!</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-24 20:06 GMT+08:00 Marc-André Lureau <span dir="ltr"><<a href="mailto:mlureau@redhat.com" target="_blank">mlureau@redhat.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
<br>
----- Original Message -----<br>
> Hi all!<br>
><br>
> I connected Spice server by windows spice client which is complied by<br>
> mingw32, and set the volume.<br>
><br>
> But the volume didn't change.<br>
><br>
> the code form:<br>
> <a href="https://gitorious.org/spice-gtk/spice-gtk-elmarco/source/f270119352604755a13fcc87783127c3d96c4f61:gtk/spice-gstaudio.c" target="_blank">https://gitorious.org/spice-gtk/spice-gtk-elmarco/source/f270119352604755a13fcc87783127c3d96c4f61:gtk/spice-gstaudio.c</a><br>
><br>
> create pipe code:<br>
> if (pipeline == NULL)<br>
> pipeline = g_strdup_printf("appsrc is-live=1 do-timestamp=0 caps=\"%s\"<br>
> name=\"appsrc\" ! queue ! "<br>
> "audioconvert ! audioresample ! autoaudiosink name=\"audiosink\"",<br>
> audio_caps);<br>
> SPICE_DEBUG("audio pipeline: %s", pipeline);<br>
> p->playback.pipe = gst_parse_launch(pipeline, &error);<br>
> if (p->playback.pipe == NULL) {<br>
> g_warning("Failed to create pipeline: %s", error->message);<br>
> goto lerr;<br>
> }<br>
> p->playback.src = gst_bin_get_by_name(GST_BIN(p->playback.pipe), "appsrc");<br>
> p->playback.sink = gst_bin_get_by_name(GST_BIN(p->playback.pipe),<br>
> "audiosink");<br>
><br>
> set volume code:<br>
> GstElement *e;<br>
> if (GST_IS_BIN(p->playback.sink))<br>
> e = gst_bin_get_by_interface(GST_BIN(p->playback.sink),<br>
> GST_TYPE_STREAM_VOLUME);<br>
> else<br>
> e = g_object_ref(p->playback.sink);<br>
><br>
> I have debuged the code. when the volume was set, the e returned NULL.<br>
><br>
> Is it a bug?<br>
<br>
</div></div>If you don't have a sink, it means you are missing gstreamer plugins.<br>
<br>
On Windows, you need the directsoundsink element (from gst-plugins-good). It implements the "volume" property.<br>
<br>
cheers<br>
</blockquote></div><br></div>