[Jack-Devel] Windows: Problem running Jack Server and Clients with DLLs

PrevNext  Index
DateMon, 30 Apr 2012 13:24:47 -0400
From Sprague, Christopher M CIV NAVAIR, Code 4 dot 6 dot 2 dot 3 <[hidden] at navy dot mil>
To[hidden] at lists dot jackaudio dot org
CcJACK Mailing List <[hidden] at lists dot jackaudio dot org>
Follow-UpStéphane Letz Re: [Jack-Devel] Windows: Problem running Jack Server and Clients with DLLs
I have two DLLs. 

1) which uses the JACK Control API to setup and start the JACK server
and make / break connections

2) an implementation of a JACK Client that does some processing 

When I use the DLL's from a launcher application, everything seems to
work fine until I make connections...(i.e. when I call jack_activate()
from my Server DLL to activate a client I created to make connections)

JACK server DLL spawns a thread that sets up the server, creates, and
starts it. Then spins on jackctl_wait_signals(signal)

The Client DLL registers itself with the server, registers the process
callback, defines ports, activates etc...

At that point things work as expected.  The client callback is being
called by the Jack Server and it all looks good. 

Now...In order to make connections, My Jack Server DLL creates a client
called "jack_connnect" and when jack_activate(client) is called things
start going wrong.  The DSP load jumps to 75% and the process callback
in the client starts getting skipped. I discovered that if ANY other
client calls jack_activate() this happens.

I can also recreate the problem by using the JackControl application.
If I get everything working again and instead of trying to make
connections myself, I launch JackControl (qjackctl.exe), the same
problem happens.

Finally,

If I run my client as a separate executable instead of using the DLL
from the launcher process, things work fine.

I am having trouble understanding what the difference is.  Since the
Jack server spawns threads and those threads are executing the
processing callback, I am not sure why implementing the client in a DLL
is an issue.  Clearly, there is something I am missing... Any help would
be greatly appreciated.

I using JACK 1.9.9_32

Thanks,

Chris





-----Original Message-----
From: [hidden]
[mailto:[hidden]] On Behalf Of
[hidden]
Sent: Thursday, April 26, 2012 6:05 PM
To: [hidden]
Subject: Jack-Devel Digest, Vol 70, Issue 18

Send Jack-Devel mailing list submissions to
	[hidden]

To subscribe or unsubscribe via the World Wide Web, visit
	http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
or, via email, send a message with subject or body 'help' to
	[hidden]

You can reach the person managing the list at
	[hidden]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Jack-Devel digest..."


Today's Topics:

   1. Re: Problem compiling libflashsupport-jack on Ubuntu 11.04
      AMD 64 (Robin Gareus)


----------------------------------------------------------------------

Message: 1
Date: Thu, 26 Apr 2012 04:35:17 +0200
From: Robin Gareus <[hidden]>
To: Hunter Thompson <[hidden]>
Cc: JACK Mailing List <[hidden]>
Subject: Re: [Jack-Devel] Problem compiling libflashsupport-jack on
	Ubuntu 11.04 AMD 64
Message-ID: <[hidden]>
Content-Type: text/plain; charset=ISO-8859-1

Hi Hunter,

Please don't top-post on this mailing list. Thanks.
I took the liberty to re-arrange this message. More at the bottom.

On 04/23/2012 11:01 AM, Hunter Thompson wrote:
> On Mon, Apr 23, 2012 at 7:30 AM, Hunter Thompson
<[hidden]>wrote:
> 
>> Greetings:
>>  While following the instructions given on
>> http://jackaudio.org/routing_flash
>>
>> git clone git://repo.or.cz/libflashsupport-jack.git
>> cd libflashsupport
>> sh bootstrap.sh
>> make
>> sudo make install
>>
>> The bootstrap script seems to run fine, but running "make" throws
this error:
>> dh@dh-desktop:~/libflashsupport-jack$ make
>> make  all-am
>> make[1]: Entering directory `/home/dh/libflashsupport-jack'
>>
>>
>> /bin/bash ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H
-I.      -lsamplerate    -g -O0 -pipe -Wformat -Wold-style-definition
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations
-Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wshadow
-Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline
-Wno-unused-parameter -ffast-math -MT libflashsupport_la-flashsupport.lo
-MD -MP -MF .deps/libflashsupport_la-flashsupport.Tpo -c -o
libflashsupport_la-flashsupport.lo `test -f 'flashsupport.c' || echo
'./'`flashsupport.c
>>
>>
>> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -lsamplerate -g -O0 -pipe
-Wformat -Wold-style-definition -Wdeclaration-after-statement
-Wfloat-equal -Wmissing-declarations -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wshadow -Wendif-labels
-Wpointer-arith -Wcast-align -Wwrite-strings -Winline
-Wno-unused-parameter -ffast-math -MT libflashsupport_la-flashsupport.lo
-MD -MP -MF .deps/libflashsupport_la-flashsupport.Tpo -c flashsupport.c
-fPIC -DPIC -o .libs/libflashsupport_la-flashsupport.o
>>
>>
>> flashsupport.c:184:28: fatal error: linux/videodev.h: No such file or
directory
>> compilation terminated.
>> make[1]: *** [libflashsupport_la-flashsupport.lo] Error 1
>> make[1]: Leaving directory `/home/dh/libflashsupport-jack'
>>
>>
>> make: *** [all] Error 2
>>
>> Should I have a linux/videodev.h directory, or is this a bug in the
code? Is there a workaround?
>>
>> Thank you for your attention in the matter.
>>
>>
> Regarding the issue below:
> Issue resolved by editing flashsupport.c
>
>  #define V4L1
>
> to read
>
>  //#define V4L1
>
>

An alternative solution was posted ~3 weeks ago on this list:
http://old.nabble.com/libflashsupport-build-fails-td33611286.html

Cheers!
robin


------------------------------




End of Jack-Devel Digest, Vol 70, Issue 18
******************************************
PrevNext  Index

1335806753.28877_0.ltw:2,a <CE5DE611805B6547BFDAC077D8BF7F0203DDC85B at naeajaxsez02v dot nadsusea dot nads dot navy dot mil>