Bug 4969 - tlclient audio cannot be moved
Summary: tlclient audio cannot be moved
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Sound (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.2.0
Assignee: Peter Åstrand
URL:
Keywords: hean01_tester, prosaic
Depends on:
Blocks:
 
Reported: 2014-01-27 13:56 CET by Pierre Ossman
Modified: 2014-04-02 09:03 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2014-01-27 13:56:01 CET
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 Peter Åstrand cendio 2014-01-28 14:31:21 CET
Changed to:

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

...in 28341. Need to test.
Comment 2 Peter Åstrand cendio 2014-02-26 11:11:08 CET
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 Henrik Andersson cendio 2014-03-27 11:36:24 CET
(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.

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