Skip to content
Snippets Groups Projects
  1. Dec 23, 2021
  2. Dec 22, 2021
  3. Dec 20, 2021
  4. Dec 17, 2021
  5. Dec 16, 2021
    • Sébastien Blin's avatar
      sipvoiplink: avoid to drop rotation's informations · c74375b3
      Sébastien Blin authored
      if videoRtp is not initialized, the information is dropped. So,
      it should be stored to avoid any drop of informations.
      Note: in the future the container should change, because rotation
      is currently applied to all video streams.
      
      Change-Id: I036ffe7b6a248a3d8d7defeff1be78e008447fbd
      GitLab: #678
      c74375b3
    • Mohamed Chibani's avatar
      SDP - set media direction according to mute state · a887b2de
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      Currently, the media attribute in the SDP is always set to
      'sendrecv' regardless of the mute state of the media.
      In this patch, media direction will be set according to mute
      state of the media.
      Note that this only applies if the mute/unmute requires media
      renegotiation (SIP re-invite with new SDP session). Currently,
      this only the case for video media. For audio, mute/unmute is
      done locally without SIP re-invite.
      
      References:
      RFC-3264
      RFC-4317 (non-normative)
      
      Gitlab: #645
      
      Change-Id: I604331255bd25dfe732e192039a673a0980105fa
      a887b2de
    • Sébastien Blin's avatar
      misc: remove dead code · dd700c31
      Sébastien Blin authored
      This code is unused since we introduced processRtcpChecker()
      
      Change-Id: If86295d885997c415e8f1681c6b9ad049c93de9e
      dd700c31
  6. Dec 15, 2021
    • Sébastien Blin's avatar
      videomanager: protect double video input creation · 40ee25ff
      Sébastien Blin authored
      getVideoInput is called in two different place:
      + openVideoInput from the client
      + VideoRtpSession::startSender() from the daemon
      Nothing is blocking both sides to do it at the same time.
      In this case, two VideoInputs can be created, causing the second
      one to fail because the device is busy (used by the first one)
      and causing weird results (i.e. sometimes the video is not shown).
      
      Change-Id: I23e34a95efe4972fbe111c19f0f0989f5e8ae8a9
      Unverified
      40ee25ff
    • Sébastien Blin's avatar
      opensl: fix incorrect injected buffer · ea97002a
      Sébastien Blin authored
      Sometimes, buffer with incorrect capacity were injected into
      the audio, causing the daemon to crash.
      Before the stream's split, stopStream was flushing the buffers.
      In this patch, stopStream will correctly re-init the buffers and
      avoid to inject incorrect buffer into the audio.
      Also, remove unused value in buf_manager.h and clean some warnings
      for log.
      Finally, modify engineServiceRing to avoid many push operations
      and make it similar to engineServicePlay
      
      Change-Id: I589cea814452d3dbf5172af6369e448dcd9d5c72
      GitLab: #676
      ea97002a
    • Kateryna Kostiuk's avatar
      video: fix screen sharing on macOS · 41eab75d
      Kateryna Kostiuk authored and Kateryna Kostiuk's avatar Kateryna Kostiuk committed
      Because media encoder flush() involves encoding we should change
      initialized flag after calling flush(), otherwise, it could lead to
      new stream initializing.
      
      jami-client-macos#299
      
      Change-Id: I88d5648a6f252bd78776f505f891f09a4e5b12e1
      41eab75d
    • Aline Gondim Santos's avatar
      misc: fix typo · 9c9d11e4
      Aline Gondim Santos authored and Sébastien Blin's avatar Sébastien Blin committed
      - tranport -> transport
      
      Change-Id: I1991ba7324c22625e8b6cdf568357e3ff6540557
      9c9d11e4
  7. Dec 14, 2021
  8. Dec 13, 2021
  9. Dec 10, 2021
  10. Dec 09, 2021
    • Sébastien Blin's avatar
      conference: fix current protocol issues · 440a71b4
      Sébastien Blin authored
      This patch fix 3 little issues:
      + "device" was always empty. Uses the transport to fill the device
      field. This will be used in the next version of the protocol.
      + raiseHand was bugguy in two ways:
          + It was only usable by moderators
          + Somebody was able to change the raiseHand for other peers
      
      Change-Id: I32bf37c5063973a5a5962dd8984c87fb05d33a3d
      Unverified
      440a71b4
  11. Dec 08, 2021
    • Sébastien Blin's avatar
      dbuscpp: uncomment check for version · ff37ad28
      Sébastien Blin authored
      Change-Id: I82bde67fed7a295e888c2ea8f96c6e4646f51e64
      ff37ad28
    • Kateryna Kostiuk's avatar
      screensharing: add framerate for macOS · b4167b17
      Kateryna Kostiuk authored and Kateryna Kostiuk's avatar Kateryna Kostiuk committed
      Change-Id: I2a22e80a8ea826641afef9a82bf3b17ca35fcaed
      b4167b17
    • Sébastien Blin's avatar
      media_encoder: avoid segfault on nullptr · dc71d87c
      Sébastien Blin authored and Mohamed Chibani's avatar Mohamed Chibani committed
      Caught by ut_media_encoder:
      
      READ of size 8 at 0x602000029818 thread T0
          #0 0x5649e914d6e0 in jami::MediaEncoder::send(AVPacket&, int) media/media_encoder.cpp:504
          #1 0x5649e914d05c in jami::MediaEncoder::encode(AVFrame*, int) media/media_encoder.cpp:480
          #2 0x5649e8cac119 in jami::test::MediaEncoderTest::testMultiStream() media/test_media_encoder.cpp:183
      
      outputCtx_->nb_streams can be different from encoders.size(), and if
      not checked can lead to a crash
      
      Change-Id: I3c0217ec3e1d50950bf46989e0dd6797fee8972e
      dc71d87c
  12. Dec 07, 2021
    • Adrien Béraud's avatar
      sink: avoid deadock during frame size change · feb26e47
      Adrien Béraud authored
      Lock was:
          frame #3: 0x00000074f22d0b74 libc++_shared.so`std::__ndk1::mutex::lock()
          frame #5: 0x00000074f2f91b10 libring.so`std::__ndk1::lock_guard<std::__ndk1::mutex>::lock_guard()
          frame #6: 0x00000074f3156d3c libring.so`jami::video::SinkClient::registerTarget() at sinkclient.h:80:37
          frame #7: 0x00000074f3154f74 libring.so`DRing::registerSinkTarget(sinkId="2920319278288091") at videomanager.cpp:527:15
          frame #8: 0x00000074f2f1dccc libring.so`Java_net_jami_daemon_JamiServiceJNI_unregisterVideoCallback()
          frame #45: 0x00000074f2f3491c libring.so`SwigDirector_VideoCallback::decodingStopped()
          frame #48: 0x00000074f319a480 libring.so`void jami::emitSignal<DRing::VideoSignal::DecodingStopped>() at ring_signal.h:66:13
          frame #49: 0x00000074f31993ec libring.so`jami::video::SinkClient::setFrameSize(this=0x00000074c298caa0, width=0, height=0) at sinkclient.cpp:482:9
          frame #50: 0x00000074f3199f74 libring.so`jami::video::SinkClient::update() at sinkclient.cpp:427:13
          frame #51: 0x00000074f316c69c libring.so`jami::Observable<std::__ndk1::shared_ptr<DRing::MediaFrame> >::notify() at observer.h:138:23
          frame #52: 0x00000074f31a7094 libring.so`jami::video::VideoGenerator::publishFrame() at video_base.cpp:56:5
      
      
      Change-Id: I1824bad767543a3e789e13af1489613a044a7473
      feb26e47
    • Adrien Béraud's avatar
      contrib: fix build without flock · 9c74ea2c
      Adrien Béraud authored and Sébastien Blin's avatar Sébastien Blin committed
      Change-Id: I274ed5b9b6f97b06e7a355b941f81f86c7816c24
      9c74ea2c
  13. Dec 06, 2021
  14. Dec 03, 2021
  15. Dec 02, 2021
  16. Nov 30, 2021
  17. Nov 29, 2021
    • Sébastien Blin's avatar
      multiplexed_socket: fix race condition on acceptation · 35e4cfce
      Sébastien Blin authored
      Because some callbacks can take a long time (accepting a SIP channel
      will starts to sync profiles, ask for new channel, etc), control packets
      are handled in their own thread. However, if the peer accepts a request,
      it can starts to use it and send data on it. When finished, it will close
      the socket and both peer will remove the channel.
      In some case, the channel can be removed before
      MultiplexedSocket::Impl::onAccept, causing upper layers to handle a
      bad channel. In this patch, we removes the channel only when upper layers
      know that the channel is accepted and ready to use. Also, onAccept()
      doesn't create wrong channels (which was a bug, where isInitiator() was
      in the wrong state).
      
      GitLab: #659
      Change-Id: I4f45feacc2624ce0135ace09f7e0188b56fcf81f
      35e4cfce
  18. Nov 25, 2021
    • Sébastien Blin's avatar
      jamiaccount: protect module's initialization · 81d75c92
      Sébastien Blin authored
      Else, the module can be created twice and one will be invalidated
      causing some crashes
      
      Change-Id: I1403fc27e3baa24c1ad6e4c8ae5a352e328374ee
      81d75c92
    • Sébastien Blin's avatar
      swarm: fix racecondition with acceptTrustRequest · c6661d18
      Sébastien Blin authored
      AcceptTrustRequest should update conversation's module to directly
      return the syncing conversation. Moreover, configurationMutex_ should
      be recursive to allow sync between trust and conversation's requests.
      
      This fix ut_conversationRequest where the problem was that the
      conversation's requests were updated after ContactAdded, causing
      removeContact() to remove the conversation, but acceptTrustRequest
      re-adds it during the operation.
      
      Change-Id: If676dc58290f87c289a6e63eb9afa04d2cc25df5
      GitLab: #659
      c6661d18
  19. Nov 24, 2021
  20. Nov 23, 2021
  21. Nov 22, 2021
    • Mohamed Chibani's avatar
      multi-stream - remove legacy code · df9dba9b
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      Remove obsolete code kept for backward compatibility.
      Add call transfer test case
      
      Gitlab: #470
      
      Change-Id: I81472b8308ec402911670e8658308a184b97206c
      df9dba9b
    • Kateryna Kostiuk's avatar
      player: fix close player signature · db072646
      Kateryna Kostiuk authored and Adrien Béraud's avatar Adrien Béraud committed
      Change-Id: I9f435dc52218222ccbfae1fb507f13a8cb71f6f7
      db072646
    • Sébastien Blin's avatar
      swarm: various fixes · 71b4d7a3
      Sébastien Blin authored and Adrien Béraud's avatar Adrien Béraud committed
      This patch fixes current unitTest
      + Fix testCreateConversationWithMessagesThenAddDevice messageReceived
      flag
      + Remove useless sleep in tests
      + in ut_conversation fix messageReceived flag
      + lock convInfo and convRequests to avoid invalid write operations
      + fix pending callbacks if connected via a DHT request
      + remove useless log
      
      Change-Id: If53ecf0c064e9c1424c11a4af1e13d31294e6be9
      71b4d7a3
    • Mohamed Chibani's avatar
      SIP - set peer's 'Allow' methods if present in header · 8448d70c
      Mohamed Chibani authored and Adrien Béraud's avatar Adrien Béraud committed
      SIP specification does not mandate the use of 'Allow'
      header and which message must contain this header.
      So, the 'Allow' header may be present in some SIP
      messages (e.g. INVITE) but not in subsequent messages
      (e.g. ACK), thus the current list of methods (if any)
      will be updated only if the new list is not empty.
      
      Gitlab: #572
      
      Change-Id: If10c73dd116ebd2bbcec413d377caf524aca8897
      8448d70c
Loading