audio driver thread creation/destruction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ok, I've been porting my code from  1.0.3 to 1.4 (Big shout out to  
samuel vinson for those great patches), but I'm stumbling across an  
assertion with some threading stuff in the code.

The basic behavior is , when the call is made, the audio driver sets  
up (or whatever, the usual fashion), it all works, I hang up. Then go  
to make another call and get

Assertion failed: (thread->signature1 != 0xDEAFBEEF || thread- 
 >signature2 != 0xDEADC0DE || (thread->thread == pthread_self())),  
function pj_thread_register, file ../src/pj/os_core_unix.c, line 384.

Arising from the following code;-

		if(!thread_registered && !pj_thread_is_registered())
		{
			PJ_LOG(1,(THIS_FILE,"New thread!"));
			if (pj_thread_register(NULL,desc,&thread) == PJ_SUCCESS)
			{
				thread_registered = PJ_TRUE;
			}
		}

which lives early on in playAQBufferCallback(...) which is called from

I'm not entirely sure whats going on, although I'll note I wasn't  
getting this behavior in 1.0.3 , unless I was trying something a bit  
dramatic, like shutting down the whole thing and re-starting it.

What's the process for shutting down the driver before restarting it ,  
between calls, or should I be looking elsewhere?

===================================
Shayne O'Neill Development
Mobile, Web and Business process integration.
shayne.oneill at gmail.com 0400247091
Ask me about how Alfresco can help your business grow.




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux