Package: recordmydesktop
Version: 0.3.8.1+svn602-1+b1
Followup-For: Bug #649824
Dear Maintainer,
The issue is still present and caused by an upstream bug/typo.
--use-jack sets the parameter also used by the --x option.
(src/rmd_parseargs.c:194)
A workaround is to order the options: --use-jack .. -x 0
Related issue with --use-jack is that poptGetOptArg() does not iterate
correctly over space separate arguments. So at most a single
jack port can be used, and jack-ports with spaces are not possible.
A
Attached patch resolves both issues, by allowing incremental
--use-jack options.
e.g. to record a stereo file:
recordmydesktop --width=1920 --height=1072 --fps=25 -o /tmp/test.ogv \
-x 0 -y 0 --use-jack system:capture_1 --use-jack "jackapp:Right Channel"
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages recordmydesktop depends on:
ii libasound2 1.1.2-1
ii libc6 2.23-5
ii libice6 2:1.0.9-1+b1
ii libjack-jackd2-0 [libjack-0.116] 1.9.10+20150825git1ed50c92~dfsg-2
ii libogg0 1.3.2-1
ii libpopt0 1.16-10
ii libsm6 2:1.2.2-1+b1
ii libtheora0 1.1.1+dfsg.1-14
ii libvorbis0a 1.3.5-3
ii libvorbisenc2 1.3.5-3
ii libvorbisfile3 1.3.5-3
ii libx11-6 2:1.6.3-1
ii libxdamage1 1:1.1.4-2+b1
ii libxext6 2:1.3.3-1
ii libxfixes3 1:5.0.2-1
ii zlib1g 1:1.2.8.dfsg-2+b1
recordmydesktop recommends no packages.
recordmydesktop suggests no packages.
-- no debconf information
Index: recordmydesktop-0.3.8.1+svn602/src/rmd_parseargs.c
===================================================================
--- recordmydesktop-0.3.8.1+svn602.orig/src/rmd_parseargs.c
+++ recordmydesktop-0.3.8.1+svn602/src/rmd_parseargs.c
@@ -191,7 +191,7 @@ boolean rmdParseArgs(int argc, char **ar
"SOUND_DEVICE" },
{ "use-jack", '\0',
- POPT_ARG_STRING | RMD_USE_JACK_EXTRA_FLAG, &arg_return->x, RMD_ARG_USE_JACK,
+ POPT_ARG_STRING | RMD_USE_JACK_EXTRA_FLAG, NULL, RMD_ARG_USE_JACK,
"Record audio from the specified list of space-separated jack ports.",
"port1 port2... portn" },
@@ -350,9 +350,7 @@ boolean rmdParseArgs(int argc, char **ar
case RMD_ARG_USE_JACK:
{
- arg_return->jack_nports = 0;
-
- while (arg) {
+ while (arg && arg_return->jack_nports < RMD_MAX_JACK_PORTS) {
arg_return->jack_nports++;