Open xnandersson opened 8 years ago
I am affected still as well (peers are keep on telling me that my voice is distorted), though I haven't yet had taken any measures. Compared to before it doesn't seem to bother my peers as much as before, so it has definitely improved. Let me know if I can assist. /To
Please make some logs with GST_DEBUG=4
and post your dpkg --list
. What's your settings in Pidgin's Voice/Video preferences?
Attached are the requested logs and dpkg --list
. The logs was taken during calls to both the test call service and to a cell phone.
dpkg_list.txt pidgin_gst_debug.log.gz pidgin_gst_debug2.log.gz pidgin_gst_debug3.log.gz pidgin_gst_debug4.log.gz
Perhaps there are some pointers in the packets. RTCP-packets might carry useful information https://en.wikipedia.org/wiki/RTP_Control_Protocol
Either it is the packets, or it is an issue with the codec.
Is here anyone who has these audio issues and uses something else than Ubuntu 14.04?
@rbordelo is on 14.04 according to his logs, and if I remember correctly the same is true for @tmuehlhoff. Might be an issue with old GStreamer...
I'm on 16.04 and have issues.
I am on 16.04 and have experienced complete silence for 1-2 minutes during the beginning of a call that usually ends up with the other party hanging up. Once this happens, I can't connect back to them and they just hear a couple of fast beeps before it hangs up. Most of the people I engage with are running 'real' Skype for Business on Windows PCs.
@rbeldin Sounds like a different issue to me. I also wouldn't claim that this issue is "inaudible" as the headline suggest, but definitely a "cracking" noise whenever your counterpart speaks. During moments of silence there is no background noise. It seems like a decoder issue, because the other party (who is on MS Lync) can hear everything just perfectly. The cracking noise is only on the Pidgin client. Also if both TX and RX uses similar routes, that perhaps also cancel out the possibility of a bandwidth issue (latency) or packet loss.
Finding from one of our users:
"If it helps, see below something experienced in last few days:
The above happened on 2 occasions already, coincidence?"
@xnandersson That doesn't have to be so far-fetched a coincidence as it may look since Evolution might connect to pulseaudio server in order to e.g. play notification sounds.
I've seen something similar under unrelated circumstances - if I recall correctly, when I would launch a QEMU virtual machine (with a configured sound card) using libvirt, the volume of my media player would suddenly decrease, and after turning the VM off, it would return to the original level. Sound quality wasn't affected though, just the volume.
The user could try to collect some potentially useful piece of data should the situation you described happen again:
pactl list
(from pulseaudio-utils package) and save the outputpactl list
againLooks like one can "fix" the problem by opening some other applications. If I start and close Thunderbird for example a few times it seems like it can fix the sound. No idea how this correlates though.... So perhaps it is just a matter of kicking pulse-audio a few times?
I got bad received Audio, either I got no audio at all or there is audio with static noise in it. Using Gentoo with gst 1.8.2 and lastest sipe, libnice and farstream from https://github.com/tieto/
@joakim-tjernlund Does the noise go away after a while or is it persistent? The former would be consistent with this bug report.
@xhaakon In this one off test I had noisy received audio to begin with and after a minute or two received audio died and we ended the test shortly after that. He could hear me all the time though.
@joakim-tjernlund Try next time to let the call go on for longer. Preferably 10-20 minutes. Also try and open/close some other programs at the same time.
I just hit another odd thing, I tested an Audio call with a coworker and while he could hear me fine, I just heard myself! BTW, it would be great if one could call oneself for testing purposes.
BTW, it would be great if one could call oneself for testing purposes.
You can use Lync's integrated test call bot for checking your audio configuration. In Pidgin, go to Accounts -> [your sipe account] -> Test call
.
Ahh, news to me. Test Call works fine for me.
Anyone compared ALSA vs. Pulseaudio?
No. But reportedly Debian is not tainted with this problem...
And debian uses ALSA? I just tried to use ALSA instead and did a Test Call but heard no sound at all :(
Tried again a few times and now I got choppy sound using ALSA. Wonder if this can anything to do with kernel conf CONFIG_SND_HDA_PREALLOC_SIZE=64 ?
On another machine I get choppy audio and GST_DEBUG=4 pidgin gives me
alsa conf.c:4817:snd_config_expand: alsalib error: Unknown parameters {AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
alsa pcm.c:2450:snd_pcm_open_noupdate: alsalib error: Unknown PCM default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
alsa gstalsasink.c:330:gst_alsasink_getcaps:<autoaudiosink0-actual-sink-alsa> returning caps audio/x-raw, format=(string){ U8, S16LE, S24_32LE, S32LE, S24LE }, layout=(string)interleaved, rate=(int)[ 4000, 384000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003; audio/x-raw, format=(string){ U8, S16LE, S24_32LE, S32LE, S24LE }, layout=(string)interleaved, rate=(int)[ 4000, 384000 ], channels=(int)1; audio/x-raw, format=(string){ U8, S16LE, S24_32LE, S32LE, S24LE }, layout=(string)interleaved, rate=(int)[ 4000, 384000 ], channels=(int)3, channel-mask=(bitmask)0x000000000000000b; audio/x-raw, format=(string){ U8, S16LE, S24_32LE, S32LE, S24LE }, layout=(string)interleaved, rate=(int)[ 4000, 384000 ], channels=(int)4, channel-mask=(bitmask)0x0000000000000033; audio/x-raw, format=(string){ U8, S16LE, S24_32LE, S32LE, S24LE }, layout=(string)interleaved, rate=(int)[ 4000, 384000 ], channels=(int)6, channel-mask=(bitmask)0x000000000000003f; audio/x-raw, format=(string){ U8, S16LE, S24_32LE, S32LE, S24LE }, layout=(string)interleaved, rate=(int)[ 4000, 384000 ], channels=(int)8, channel-mask=(bitmask)0x0000000000000c3f
Any chance this is related?
Which H264 impl. fits SIPE best, openh264 or x264 ? Minimum version of there?
Are people using srtp 1.5.4/2.0.0 yet?
Which H264 impl. fits SIPE best, openh264 or x264 ? Minimum version of there?
Sipe uses x264 through GStreamer encoder and decoder plugins from the "ugly" set. We don't prescribe any minimal required version, but best choose something less ancient than what Ubuntu 14.04 has (our oldest supported system). The exact version number is a bit complex 2:0.142.2389+git956c8d8-2 - that upstream commit ID it includes is probably your best guide.
We'd also like to take advantage of hardware accelerated H264 encoding & decoding through VAAPI, but its support in Farstream isn't quite there yet and causes crashes.
Are people using srtp 1.5.4/2.0.0 yet?
They use libsrtp that ships with their distro. I see Ubuntu 16.04 still has 1.4.5, so the versions you mentioned aren't in widespread use yet.
On another machine I get choppy audio when doing a test call and GST_DEBUG=3 pidgin gives me
0:00:25.990256495 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio OPUS clock:48000 channels:2 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.993439095 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio SPEEX clock:0 channels:1 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.995910786 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 14: audio MPA-ROBUST clock:90000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 14
0:00:25.996000636 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 14: audio X-MP3-DRAFT-00 clock:90000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 14
0:00:25.996087353 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 14: audio MPA clock:90000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 14
0:00:25.996198072 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio MPEG4-GENERIC clock:0 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.996304298 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio MP4A-LATM clock:0 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.996410063 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio ILBC clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.996511580 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 3: audio GSM clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 3
0:00:25.996614194 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 18: audio G729 clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 18
0:00:25.996724167 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio G726-16 clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.996824658 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 4: audio G723 clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 4
0:00:25.996929156 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for 9: audio G722 clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 9
0:00:25.997034073 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio DV clock:90000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.997137798 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio CELT clock:0 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.997247018 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio BV16 clock:8000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.997335582 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio BV32 clock:16000 channels:0 params:(nil): Could not link element inside the send codec bin for pt 96
0:00:25.997447482 541 0xb4de70 WARN fsrtpconference_disco fs-rtp-discover-codecs.c:1847:codec_blueprints_add_caps: Could not create send codec bin from blueprint for -1: audio AMR clock:8000 channels:1 params:0xd91000: Could not link element inside the send codec bin for pt 96
0:00:26.011592389 541 0xd81e80 FIXME default gstutils.c:3766:gst_pad_create_stream_id_internal:<pidgindefaultaudiosrc-actual-src-als:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:26.014365086 541 0xd81800 FIXME default gstutils.c:3766:gst_pad_create_stream_id_internal:<nicesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:26.014538466 541 0xd60190 FIXME default gstutils.c:3766:gst_pad_create_stream_id_internal:<nicesrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:26.845820302 541 0xdf3000 FIXME default gstutils.c:3766:gst_pad_create_stream_id_internal:<dtmfsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:26.885192426 541 0xd81800 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:26.885203711 541 0xd81800 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.035488878 541 0xd81800 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.035501904 541 0xd81800 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.042801082 541 0xd81800 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.042809590 541 0xd81800 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.140500743 541 0xd81800 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.140511739 541 0xd81800 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.140523866 541 0xd81800 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.140528500 541 0xd81800 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.140732835 541 0xd60190 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.140741396 541 0xd60190 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.246121626 541 0xd60190 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.246133472 541 0xd60190 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.246144716 541 0xd60190 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.246150185 541 0xd60190 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.252821379 541 0xd81800 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.252830789 541 0xd81800 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.349692428 541 0xd60190 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.349704217 541 0xd60190 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.450357693 541 0xd60190 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.450370150 541 0xd60190 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:27.450386644 541 0xd60190 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:00:27.450392225 541 0xd60190 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:00:28.668527950 541 0xd6bd90 WARN alsa conf.c:4674:parse_args: alsalib error: Unknown parameter AES0
0:00:28.668549478 541 0xd6bd90 WARN alsa conf.c:4834:snd_config_expand: alsalib error: Parse arguments error: No such file or directory
0:00:28.668556339 541 0xd6bd90 WARN alsa pcm.c:2450:snd_pcm_open_noupdate: alsalib error: Unknown PCM default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:28.670857076 541 0x7f19fc001d90 FIXME basesink gstbasesink.c:3126:gst_base_sink_default_event:<autoaudiosink0-actual-sink-alsa> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:29.105186044 541 0xd81e80 FIXME basesink gstbasesink.c:3126:gst_base_sink_default_event:<fakesink1> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:29.105206767 541 0xd81e80 FIXME basesink gstbasesink.c:3126:gst_base_sink_default_event:<nicesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
Is this normal?
Using Pulseaudio I get lots of distortions and this is logged:
0:01:29.844006215 6545 0xec7000 FIXME default gstutils.c:3766:gst_pad_create_stream_id_internal:<dtmfsrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:01:29.880480370 6545 0xa76d40 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:29.880495216 6545 0xa76d40 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:30.031578036 6545 0xa76d40 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:30.031590115 6545 0xa76d40 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:30.136099400 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:30.136110203 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:30.240363985 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:30.240380940 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:30.445889525 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:30.445901340 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:30.445914226 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:30.445919778 6545 0xcfeca0 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:30.451417850 6545 0xa76d40 WARN srtpdec gstsrtpdec.c:644:validate_buffer:<srtpdec_1> No SSRC found in buffer
0:01:30.451427231 6545 0xa76d40 WARN srtpdec gstsrtpdec.c:1212:gst_srtp_dec_chain:<srtpdec_1> Invalid buffer, dropping
0:01:31.925619276 6545 0x7f2f38000de0 FIXME basesink gstbasesink.c:3126:gst_base_sink_default_event:<pulsesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:01:32.544682365 6545 0x7f2f40004940 FIXME basesink gstbasesink.c:3126:gst_base_sink_default_event:<fakesink4> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:01:32.544705968 6545 0x7f2f40004940 FIXME basesink gstbasesink.c:3126:gst_base_sink_default_event:<nicesink2> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:01:33.562772804 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:34.701854643 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:35.222741723 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:36.602065978 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:37.422366630 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:37.661758349 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:38.122282867 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:38.761967358 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:38.882477889 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:39.042694845 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:39.201751559 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:39.942103724 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
0:01:40.262564357 6545 0x7f2f00007120 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<pulsesink0> Got underflow
I have the feeling that these audio issues are latency based. This test machine has 175 ms ping time to the Lync server. Could it be that GST or SIPE fails to compensate for latency?
Here is a somewhat better data point, using http://repo.or.cz/siplcs.git/shortlog/refs/heads/mob I get lots of distortion on first Test call and lots of this(GST_DEBUG=3)
0:00:44.420026545 8681 0x7f36cc002cf0 WARN audiobasesink gstaudiobasesink.c:1807:gst_audio_base_sink_get_alignment:<pulsesink0> Unexpected discontinuity in audio timestamps of +0:00:00.030000000, resyncing
while using pidgin-sipe 1.21.1 I get almost no distortion(if any) Tested several times
I there a way to play the Test Call with gst-play(or similar)? That would present a great way to narrow down the problem.
Hi, I'm still suffering from bad outgoing voice. But only in conferences, not in direct calls. I'm attaching a sample file recorded by my colleagues Lync client (female voice, not distorted). ?Tomas
@tmuehlhoff The sample sounds to me as if some very low-quality encoding was used. Could you please provide a Pidgin log from a conference call? I'd be interested in the codec being selected.
Does your sound improve after a while as @xnandersson describes in the original post, or keeps being distorted for the whole duration of the call?
Also what's the Ubuntu version you're currently using?
But only in conferences, not in direct calls.
Lync conference servers usually support somewhat limited range of codecs compared to the desktop clients themselves, so this observation would support the theory that Sipe selects some low-bandwidth encoder although better options should be available on your system. There still remains the question why only some users experience this sound quality problem...
Hi, thanks for answering. What kind of logs are you referring to ? the Pidgin "System log" remains empty even though I checked all 3 log boxes in preferences/logging. I captured some seconds in Wireshark, but it's all TLS encrypted, so that won't help I assume. Ubuntu Version is 14.04.05, Kernel 3.13.0-100-generic, Pidgin 1:3.0.0 collab-1+201611050947 ubuntu14.04.1, sipe 1.21.1+sipe-0+201611140632 ubuntu14.04.1, remmina 1.2.0 rcgit+sipe-0+201608170747~ubuntu14.04.1 /Tomas
What kind of logs are you referring to ?
@tmuehlhoff I mean the terminal output when running Pidgin from shell with debug parameter:
pidgin --debug
I did a capture, I'm a bit hesitating to attach the whole log here since it contains company data. I'll snip out what I think is relevant. I can send you the full file via E-Mail. PCMU seems to me not the most efficient codec. /Tomas
grep -i codec pidgin-debug.txt -A 10 -B 10
(13:39:55) sipe: process_input_message: msg->response(200),msg->method(INVITE)
(13:39:55) sipe: process_input_message: we have a transaction callback
(13:39:55) sipe: sipe_dialog_parse_routes: route <sip:SESSFEPOOL202.ericsson.com:5061;transport=tls;ms-fe=sessmwfe2204.ericsson.se;opaque=state:T:Tc.JNSu814HJlq-CXalIJ_2FccTAAAAAAAA:F:Fc.JNSu814HJlq-CXvlIJ_2FccTAAAAAAAA:Eu:Ci.R5a038200;lr;ms-route-sig=fl0dytzDOYoa44E4w6YJFUQ8OUNplheX7GgWBTbJRWbotAF5ziVFo5xwAA>
(13:39:55) sipe: NTLM MAC(): Extented Session Security
(13:39:55) sipe: NTLM MAC(): Key Exchange
(13:39:55) sipe: NTLM calculated MAC: 01000000452B9B7858EC494E64000000
(13:39:55) sipe: process_input_message: removing CSeq 3
(13:39:55) sipe: SIP transactions count:0 after removal
(13:39:55) backend-fs2: farstream-component-state-changed: component: 1 state: CONNECTING
(13:39:55) backend-fs2: farstream-component-state-changed: component: 2 state: CONNECTING
(13:39:55) backend-fs2: farstream-send-codec-changed: codec: 0: audio PCMU clock:8000 channels:1
(13:39:55) sipe: sip_sec_verify_signature: message is:
I would appreciate a list of codecs supported by SIPE, it is a jungle out there and for an amateur like me it is hard to keep up. I just saw http://blog.schertz.name/2014/03/media-codecs-in-lync-2013/ where SILK is mentioned but if I understand correctly it is now renamed to Opus, should I have Opus(via gstreamer) installed too?
I would assume G.729 would do fine...
Just FYI, my audio became much better when I upgraded to ALSA 1.1.3
seems the PPA doesn't support trusty anymore in which I am still...
Is there anything I can do about my bad uplink audio in multiparty calls ? One2one is usually ok!
Got a similar issue now, doing a test call or one2one my microphon stops working for 10th's of seconds and then it start working again. Usin GST_DEBUG=3 pidgin -d I can see when microphone stops:
(17:30:02) sipe: send->process_incoming_benotify
(17:30:02) sipe: process_incoming_notify: subscription_state: active;expires=24718
(17:30:02) sipe: sipe_process_presence: Content-Type: application/msrtc-event-categories+xml
(17:30:02) sipe: process_incoming_notify_rlmi: startTime=2017-08-24T00:00:00Z granularity=15 cal_free_busy_base64=
AAAAAAAAACqqAACqUAAAAAAAAAAAAAAAAAAAAAAAACqqAACqqqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
0:01:19.783409509 9590 0x7fadd4002e30 WARN audiobasesink gstaudiobasesink.c:1512:gst_audio_base_sink_skew_slaving:<alsasink0> correct clock skew -0:00:00.020036104 < -+0:00:00.020000000
0:01:20.781816887 9590 0x7fadd4002e30 WARN audiobasesink gstaudiobasesink.c:1807:gst_audio_base_sink_get_alignment:<alsasink0> Unexpected discontinuity in audio timestamps of -0:00:00.040000000, resyncing
0:01:21.976524414 9590 0x7fadd4002e30 WARN audiobasesink gstaudiobasesink.c:1484:gst_audio_base_sink_skew_slaving:<alsasink0> correct clock skew +0:00:00.020017986 > +0:00:00.020000000
(17:30:06) util: Writing file status.xml to directory /home/jocke/.purple
(17:30:06) util: Writing file /home/jocke/.purple/status.xml
(17:30:06) util: Writing file prefs.xml to directory /home/jocke/.purple
(17:30:06) util: Writing file /home/jocke/.purple/prefs.xml
(17:30:06) util: Writing file accounts.xml to directory /home/jocke/.purple
(17:30:06) util: Writing file /home/jocke/.purple/accounts.xml
0:01:22.749810151 9590 0x7fadb00028f0 FIXME default gstutils.c:3826:gst_pad_create_stream_id_internal:<dtmfsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
(17:30:06) backend-fs2: farstream-send-codec-changed: codec: 97: audio SIREN clock:16000 channels:1 bitrate=16000
0:01:22.750796555 9590 0x33dda80 FIXME default gstutils.c:3826:gst_pad_create_stream_id_internal:<rtpdtmfsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:01:22.751515608 9590 0x33dda80 FIXME basesink gstbasesink.c:3077:gst_base_sink_default_event:<fakesink1> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:01:22.751549322 9590 0x33dda80 FIXME basesink gstbasesink.c:3077:gst_base_sink_default_event:<nicesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:01:22.752589680 9590 0x33cfe30 WARN audio-resampler audio-resampler.c:273:convert_taps_gint16_c: can't find exact taps
0:01:22.752955241 9590 0x33cfe30 WARN audio-resampler audio-resampler.c:273:convert_taps_gint16_c: can't find exact taps
0:01:22.753786892 9590 0x7fadb00028f0 WARN audio-resampler audio-resampler.c:273:convert_taps_gint16_c: can't find exact taps
0:01:22.788078887 9590 0x33cfe30 WARN audio-resampler audio-resampler.c:273:convert_taps_gint16_c: can't find exact taps
0:01:22.980198515 9590 0x7fadd4002e30 WARN audiobasesink gstaudiobasesink.c:1807:gst_audio_base_sink_get_alignment:<alsasink0> Unexpected discontinuity in audio timestamps of +0:00:00.040000000, resyncing
(17:30:08) backend-fs2: farstream-component-state-changed: component: 1 state: READY
Then a lon PAUSE and when microphone returns again this:
(17:30:53) sipe: sipe_core_schedule_execute: executing <+http-timeout>
(17:30:53) sipe: sipe_core_schedule_execute timeouts count 9 after removal
(17:30:53) sipe: sipe_http_transport_drop: dropping connection 'autodiscover.infinera.com:443': timeout
(17:30:53) sipe: sipe_http_transport_free: destroying connection 'autodiscover.infinera.com:443'
(17:30:53) sipe: sipe_schedule_allocate timeouts count 10 after addition
(17:30:53) sipe: scheduling action <+http-timeout> timeout 2 seconds
(17:30:53) sipe: sipe_schedule_remove: action name=<+http-timeout>
(17:30:53) sipe: sipe_schedule_allocate timeouts count 10 after addition
(17:30:53) sipe: scheduling action <+http-timeout> timeout 2 seconds
(17:30:53) sipe: transport_deferred_destroy: 0x331a730
(17:30:55) sipe: sipe_core_schedule_execute: executing <+http-timeout>
(17:30:55) sipe: sipe_core_schedule_execute timeouts count 9 after removal
(17:30:55) sipe: sipe_http_transport_drop: dropping connection 'owa.infinera.com:443': timeout
(17:30:55) sipe: sipe_http_transport_free: destroying connection 'owa.infinera.com:443'
(17:30:55) sipe: transport_deferred_destroy: 0x33191c0
(17:31:07) sipe: sip_sec_verify_signature: message is:<TLS-DSK><65209277><44><SIP Communications Service><sv-sfbfe-prd1.infinera.com><8900g69B8a49A0i35F6mAF1Ft797Eb54FCx36F0x><14><BENOTIFY><sip:Joakim.Tjernlund@infinera.com><AA6C0080><sip:Joakim.Tjernlund@infinera.com><1922124904><><><> signature to verify is:0da17af99c71817fbe2744bedb42bdf330358536
(17:31:07) sipe: sip_transport_input: signature of incoming message validated
(17:31:07) sipe: process_input_message: msg->response(0),msg->method(BENOTIFY)
(17:31:07) sipe: send->process_incoming_benotify
(17:31:07) sipe: process_incoming_notify: subscription_state: active;expires=24653
(17:31:07) sipe: sipe_process_presence: Content-Type: application/msrtc-event-categories+xml
(17:31:07) sipe: process_incoming_notify_rlmi: busyidle
(17:31:07) blist: Updating buddy status for sip:martin.wahlsten@infinera.com (Office Communicator)
with GST_DEBUG=4 I see when microphone is silent lost of:
0:02:19.208063748 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 16
0:02:19.218124733 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 17
0:02:19.228361825 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 18
0:02:19.238568681 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 19
0:02:19.247724360 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 0
0:02:19.257898382 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 1
0:02:19.268007819 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 2
0:02:19.278210043 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 3
0:02:19.288457947 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 4
0:02:19.298537960 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.696551616 @ 5
0:02:19.308790236 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 6
0:02:19.319001174 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 7
0:02:19.329202550 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 8
0:02:19.339414289 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 9
0:02:19.349572822 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 10
0:02:19.358714833 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 11
0:02:19.368878436 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 12
0:02:19.378992202 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 13
0:02:19.389280092 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 14
0:02:19.399440791 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 15
0:02:19.408946623 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 16
0:02:19.419081363 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 17
0:02:19.429278141 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 18
0:02:19.439553692 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.695551616 @ 19
0:02:19.449730573 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.694551616 @ 0
0:02:19.459939642 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.694551616 @ 1
0:02:19.470124673 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.694551616 @ 2
0:02:19.480331012 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.694551616 @ 3
0:02:19.490581502 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.694551616 @ 4
0:02:19.500735300 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.693551616 @ 5
0:02:19.510946002 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.693551616 @ 6
0:02:19.521182920 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.693551616 @ 7
0:02:19.531254798 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.693551616 @ 8
0:02:19.541450605 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.693551616 @ 9
0:02:19.551663885 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.692551616 @ 10
0:02:19.561928239 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.692551616 @ 11
0:02:19.572086806 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.692551616 @ 12
0:02:19.582270092 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.692551616 @ 13
0:02:19.592483895 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.692551616 @ 14
0:02:19.602760433 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 15
0:02:19.612868173 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 16
0:02:19.622980890 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 17
0:02:19.633213451 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 18
0:02:19.643428776 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 19
0:02:19.653545829 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 0
0:02:19.662801377 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 1
0:02:19.672983981 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 2
0:02:19.683275950 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 3
0:02:19.693402658 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 4
0:02:19.703613134 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.691551616 @ 5
0:02:19.713846650 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.690551616 @ 6
0:02:19.724008708 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.690551616 @ 7
0:02:19.734208063 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.690551616 @ 8
0:02:19.744402690 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.690551616 @ 9
Then, when microphone returns again I see:
0:02:19.744505336 10466 0x22fee80 INFO ringbuffer gstaudioringbuffer.c:1793:gst_audio_ring_buffer_read:<audiosrcringbuffer1> Retrieved timestamp 5124095:34:33.690551616 @ 9
0:02:19.744720933 10466 0x1527b50 INFO GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:02:19.754630157 10466 0x7fdadc002230 INFO ringbuffer gstaudioringbuffer.c:2033:gst_audio_ring_buffer_set_timestamp:<audiosrcringbuffer1> Storing timestamp 5124095:34:33.690551616 @ 10
0:02:19.754704748 10466 0x22fee80 INFO ringbuffer gstaudioringbuffer.c:1793:gst_audio_ring_buffer_read:<audiosrcringbuffer1> Retrieved timestamp 5124095:34:33.690551616 @ 10
0:02:19.754825691 10466 0x22fee80 INFO basetransform gstbasetransform.c:1370:gst_base_transform_setcaps:<volume_audio> reuse caps
0:02:19.754870821 10466 0x22fee80 INFO GST_PADS gstpad.c:4112:gst_pad_peer_query:<valve_discovery_1:src> pad has no peer
0:02:19.754910228 10466 0x22fee80 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)16000, channels=(int)1;
0:02:19.754968060 10466 0x22fee80 INFO basetransform gstbasetransform.c:1370:gst_base_transform_setcaps:<sendlevel_audio> reuse caps
0:02:19.755215701 10466 0x22fee80 INFO GST_PADS gstpad.c:4112:gst_pad_peer_query:<valve_discovery_1:src> pad has no peer
0:02:19.755604870 10466 0x22fee80 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ];
0:02:19.755695199 10466 0x22fee80 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)16000, channels=(int)1, layout=(string)interleaved;
0:02:19.756814386 10466 0x22fee80 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)16000, channels=(int)1, layout=(string)interleaved;
0:02:19.756839433 10466 0x22fee80 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=
BTW, pidgin-sipe specificall disables SIREN during conference claiming it doesn't work:
/*
* Do not announce Theora. Its optional parameters are too long,
* Communicator rejects such SDP message and does not support the codec
* anyway.
*
* For some yet unknown reason, A/V conferencing server does not accept
* voice stream sent by SIPE when SIREN codec is in use. Nevertheless,
* we are able to decode incoming SIREN from server and with MSOC
* client, bidirectional call using the codec works. Until resolved,
* do not try to negotiate SIREN usage when conferencing. PCMA or PCMU
* seems to work properly in this scenario.
*/
while (i) {
PurpleMediaCodec *codec = i->data;
gchar *encoding_name = purple_media_codec_get_encoding_name(codec);
if (sipe_strequal(encoding_name,"THEORA") ||
(is_conference && sipe_strequal(encoding_name,"SIREN"))) {
GList *tmp;
g_object_unref(codec);
tmp = i->next;
codecs = g_list_delete_link(codecs, i);
i = tmp;
} else if (sipe_strequal(encoding_name, "H264")) {
I took that out and tested conference and that worked fine(using SIREN codec)
I will confirm that removing the SIREN treatment helped, I also had to greatly reduce volume on the mic in my case.
@xnandersson, any comment on the exclusion of SIREN? Seems to work these days.
Also, this commit, https://bitbucket.org/pidgin/main/commits/08a29966cee99dedfc266e79e8fba31ecc08aa37 ,might help the original audio issue.
@joakim-tjernlund @xhaakon Thanks for the heads-up Joakim. Could be time to revisit this issue then.
Sorry for if offtopic but I got this audio prolem where the microphone stops working and the last thing I see using GST_DEBUG=3 is:
0:00:22.044095339 6747 0x562a224f5d60 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb:<autoaudiosink0-actual-sink-pulse> Got underflow
0:00:25.886390874 6747 0x562a231858f0 WARN audiosrc gstaudiosrc.c:221:audioringbuffer_thread_func:<autoaudiosrc0-actual-src-puls> error reading data -1 (reason: Resource temporarily unavailable), skipping segment
And that comes from:
do {
read = readfunc (src, readptr, left, ×tamp);
GST_LOG_OBJECT (src, "transfered %d bytes of %d to segment %d", read,
left, readseg);
if (read < 0 || read > left) {
GST_WARNING_OBJECT (src,
"error reading data %d (reason: %s), skipping segment", read,
g_strerror (errno));
break;
}
left -= read;
readptr += read;
} while (left > 0);
/* Update timestamp on buffer if required */
gst_audio_ring_buffer_set_timestamp (buf, readseg, timestamp);
/* we read one segment */
gst_audio_ring_buffer_advance (buf, 1);
Got no idea if this func should try handle EAGAIN or if readfunc should do that. I cannot even tell where this readfunc is impl.(in pidgin, pidgin-sipe or somewhere else). Any ideas?
Still an issue. Several reports. Can it be something else but the codec?
"Audio (both sent and received) is distorted and full of static -- basically unusable -- at the beginning of a call or meeting, but after anywhere between 1 and 10 minutes, it suddenly clears up. This happens regardless of whether I'm using the office Ethernet, the office WiFi, or connected via the VPN."