[asterisk-dev] [Code Review]: fix using external MP3 player with res_timing_dahdi being used as timer causing MOH stream to stop
elguero
reviewboard at asterisk.org
Wed Dec 7 13:08:09 CST 2011
> On Dec. 7, 2011, 1:03 p.m., mjordan wrote:
> > /trunk/res/res_musiconhold.c, line 1673
> > <https://reviewboard.asterisk.org/r/1578/diff/2/?file=22145#file22145line1673>
> >
> > A little nitpicky, but this actually can still be immediately after the while((member = AST_LIST_REMOVE_HEAD(&class->members, list)) loop. There's no reason to keep the moh_class locked during its entire destruction, only while something can still access it while its tearing itself down. Once the moh_member objects are removed from the list, that should be the case.
Sorry about that. I guess I was being thrown off with the comment "unless its causing some other issue, keep the lock". I will move it back up to unlock after the member object has been removed from the list.
- elguero
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1578/#review4957
-----------------------------------------------------------
On Dec. 7, 2011, 12:50 p.m., elguero wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1578/
> -----------------------------------------------------------
>
> (Updated Dec. 7, 2011, 12:50 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> The attached patch does the following:
>
> - Changes the load priority so that this module is loaded after the timing interfaces are.
>
> At times, res_musichold.so would work with an external mp3 player. Through debugging, I noticed that res_timing_pthread was being used at first. If I only loaded res_timing_dahdi, then the external mp3 stream would start and then pause causing nothing to be heard on the channel. So, if res_timing_pthread was present at start, upon reload, since res_timing_dahdi takes priority as a timer, the timing changed to this timing interface and would just sit there, hence the need for the following change.
>
> - Adds the POLLPRI event for ast_poll, otherwise ast_poll just sits there waiting when the timer being used is res_timing_dahdi.so
>
> - Attempt to cleanup a few items
>
>
> This addresses bug ASTERISK-17474.
> https://issues.asterisk.org/jira/browse/ASTERISK-17474
>
>
> Diffs
> -----
>
> /trunk/include/asterisk/module.h 346950
> /trunk/res/res_musiconhold.c 346950
> /trunk/res/res_timing_dahdi.c 346950
> /trunk/res/res_timing_pthread.c 346950
> /trunk/res/res_timing_timerfd.c 346950
>
> Diff: https://reviewboard.asterisk.org/r/1578/diff
>
>
> Testing
> -------
>
> Local box running CentOS 5.7 and dahdi-trunk.
>
> On JIRA, tested by:
> Thomas Arimont - 1.8.7
> Luke H - 1.8.8-rc3, CentOS 5.5 (32bit), DAHDI 2.5.0.2
>
>
> Thanks,
>
> elguero
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20111207/4a9ac8bc/attachment.htm>
More information about the asterisk-dev
mailing list