linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] Hold file audio only plays once for ZRTP


From: Gautier Pelloux-Prayer
Subject: Re: [Linphone-developers] Hold file audio only plays once for ZRTP
Date: Tue, 26 Jan 2016 11:26:05 +0100

Hi Trevor and list,

There was indeed a bug in pause music looping which was totally fixed yesterday:

ms2: af6d651 2016-01-25 16:39:31 +0100 Fran├žois Grisez         Fix 
MS_PLAYER_SET_LOOP in MKVPlayer filter
linphone: 93f7cbd 2016-01-25 17:13:48 +0100 Simon Morlat            fix ice 
restart tests

Thanks Trevor for your patch,
 
Gautier Pelloux-Prayer
Software Engineer @ Belledonne Communications

> On 15 Jan 2016, at 15:43, Gautier Pelloux-Prayer <address@hidden> wrote:
> 
> Hi Trevor,
> 
> Sorry for my delayed answer but did not got time to dig trough your issue 
> yet. As Christian Spielberger on another topic, thanks you very much for 
> providing a patch fixing the issue!
> 
> I will try to express that problem as soon as possible and will go back to 
> you.
> 
> Gautier Pelloux-Prayer
> Software Engineer @ Belledonne Communications
> 
>> On 14 Jan 2016, at 15:09, Trevor Alpeter <address@hidden> wrote:
>> 
>> I've attached a patch that corrects the issue where the hold audio file
>> is only played once when a ZRTP-encrypted call is paused.
>> 
>> Thanks.
>> 
>> Trevor
>> 
>> On 1/6/16 3:18 PM, Trevor Alpeter wrote:
>>> Hello,
>>> 
>>> I have been working with liblinphone and noticed that that the audio
>>> file used for hold music is only played once whenever a call encrypted
>>> with ZRTP is put on hold. This results in the party who was put on hold
>>> hearing only silence after the first time the file is played.
>>> 
>>> After a bit of debugging, I found that the issue appears to be that the
>>> MS_FILE_PLAYER_LOOP command is not invoked on the MSFilePlayer filter
>>> used to actually play the file.
>>> 
>>> I found that the MS_FILE_PLAYER_LOOP command is used within the
>>> linphone_call_start_audio_stream() method on the MSFilePlayer referenced
>>> by call->audiostream->soundread (coreapi/linphonecall.c, line 3102 in my
>>> source). However, that MSFilePlayer does not appear to be used.
>>> 
>>> Rather, a separate MSFilePlayer is created in
>>> linphone_call_start_media_streams() via a call to
>>> audio_stream_open_remote_play() (coreapi/linphonecall.c, line 3451).
>>> That MSFilePlayer is subsequently started, but it is not given a loop
>>> value so it plays the file once and then goes into the paused state.
>>> 
>>> I've attempted to fix this in my source by adding a call to the
>>> MS_FILE_PLAYER_LOOP just before starting it (coreapi/linphonecall.c,
>>> line 3453). I used the same pause value that is used in
>>> linphone_call_start_audio_stream(). This fixes the issue in my local build.
>>> 
>>> However, this leaves me with a couple of questions:
>>> 
>>> First, is this the correct fix? I'm still trying to get my head wrapped
>>> around the source, and I want to make sure I'm doing this correctly.
>>> 
>>> Second, could you provide any insight into why multiple MSFilePlayer
>>> filters are being created? In my debugging I'm actually seeing three
>>> filters. However, only one of them is actually being started and used.
>>> I'm a bit confused about what is going on.
>>> 
>>> Any insight is appreciated.
>>> 
>>> Thanks in advance.
>>> 
>>> Trevor
>>> 
>> <0001-Hold-file-loops-for-ZRTP-calls.patch>_______________________________________________
>> Linphone-developers mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/linphone-developers
> 
> 
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/linphone-developers




reply via email to

[Prev in Thread] Current Thread [Next in Thread]