[vlc-devel] Mutex Lock problem
Tommy Tran
ducprosoft at yahoo.com
Fri Feb 4 04:11:01 CET 2011
Thanks for the reply Rémi. I acted on a tip from Sunqeen posted on the forum
and was able to find out the root cause and fixed the problem. The problem is
not in VLC code but rather on my wrapper code. Version 1.1x updated the extern
function signature on some functions but I wasn't aware of it. I was passing in
the wrong object pointer and the compiler didn't catch that because they are
both of the right type.
All is good now :o).
-Tommy
----- Original Message ----
From: Rémi Denis-Courmont <remi at remlab.net>
To: vlc-devel at videolan.org
Cc: Tommy Tran <ducprosoft at yahoo.com>
Sent: Thu, February 3, 2011 5:10:39 AM
Subject: Re: [vlc-devel] Mutex Lock problem
Hello,
On Thursday 03 February 2011, Tommy Tran wrote:
> Since v1.1.0, a few libvlc extern audio-related functions don't work
> anymore. As of v1.1.17, the issue still exist. To help with debugging, I
> picked one function that doesn't work (libvlc_audio_get_channel) and one
> function that does work (libvlc_audio_get_track) and play the same media
> file and show the callstack and the values of the related variables.
>
> I posted the callstacks on the forum:
> http://forum.videolan.org/viewtopic.php?f=32&t=87115
>
> Anyone got an idea why the owner thread is non-zero for the "GetChannel"
> case?
Because a thread holds the lock, or the mutex is invalid (dangling pointer).
> Is it OK to call EnterCriticalSelection() when there is an owner
> thread?
Yes, although it should be rare.
> Is it possible that some code is calling EnterCriticalSelection()
> and forgot to call LeaveCriticalSelection()?
Maybe.
--
Rémi Denis-Courmont
http://www.remlab.info
More information about the vlc-devel
mailing list