www.cendio.com
Bug 4969 - tlclient audio cannot be moved
: tlclient audio cannot be moved
Status: CLOSED FIXED
: ThinLinc
Sound
: trunk
: PC Unknown
: P2 Normal
: 4.2.0
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2014-01-27 13:56 by
Modified: 2014-04-02 09:03 (History)
Acceptance Criteria:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From cendio 2014-01-27 13:56:01
We got a report on the mailing list[1] that the audio streams created by the
ThinLinc client cannot be moved around. The streams are explicitly tagged as
immovable.

I had a look at the code, and it is indeed very explicit in
src/modules/module-tunnel.c:

        pa_tagstruct_put_boolean(reply, TRUE); /* no_move */

The code has callbacks for moved streams though, which is odd. Digging around
with git blame, I can find that it was changed at one point. Unfortunately the
commit message doesn't say why:

commit b28c6e98903264798f1bf839b22f73229fe14370
Author: Lennart Poettering <lennart@poettering.net>
Date:   Tue Jun 17 18:29:15 2008 +0000

    bring module-tunnel back to life

    git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2546
fefdeb5f-60dc-0310-8127-8f9354f1896f

The diff fixes a whole bunch of stuff, and has this chunk in it:

-    /* New flags added in 0.9.8 */
     if (u->version >= 12) {
-        /* TODO: set these to useful values */
-        pa_tagstruct_put_boolean(reply, FALSE); /*no_remap*/
-        pa_tagstruct_put_boolean(reply, FALSE); /*no_remix*/
-        pa_tagstruct_put_boolean(reply, FALSE); /*fix_format*/
-        pa_tagstruct_put_boolean(reply, FALSE); /*fix_rate*/
-        pa_tagstruct_put_boolean(reply, FALSE); /*fix_channels*/
-        pa_tagstruct_put_boolean(reply, FALSE); /*no_move*/
-        pa_tagstruct_put_boolean(reply, FALSE); /*variable_rate*/
+        pa_tagstruct_put_boolean(reply, FALSE); /* no_remap */
+        pa_tagstruct_put_boolean(reply, FALSE); /* no_remix */
+        pa_tagstruct_put_boolean(reply, FALSE); /* fix_format */
+        pa_tagstruct_put_boolean(reply, FALSE); /* fix_rate */
+        pa_tagstruct_put_boolean(reply, FALSE); /* fix_channels */
+        pa_tagstruct_put_boolean(reply, TRUE); /* no_move */
+        pa_tagstruct_put_boolean(reply, FALSE); /* variable_rate */
+    }

I suspect it might have been something that got in there by mistake.

[1]
http://lists.cendio.se/pipermail/thinlinc-technical/2014-January/000524.html
------- Comment #1 From cendio 2014-01-28 14:31:21 -------
Changed to:

        pa_tagstruct_put_boolean(reply, FALSE); /* no_move */

...in 28341. Need to test.
------- Comment #2 From cendio 2014-02-26 11:11:08 -------
Confirmed that this does not work with 4.1.1. Confirmed that the latest nightly
build works (build 4261). Moved to TrekStor Wireless SoundBox.
------- Comment #3 From cendio 2014-03-27 11:36:24 -------
(In reply to comment #2)
> Confirmed that this does not work with 4.1.1. Confirmed that the latest nightly
> build works (build 4261). Moved to TrekStor Wireless SoundBox.

Tested using client build 4304, there is no problem to switch stream
destination between available outputs.