1. 21 Sep, 2015 2 commits
    • Guillaume Roguez's avatar
      update Copyright header · 5236ab05
      Guillaume Roguez authored
      - remove OpenSSL exception
      - fix Savoir-faire Linux naming
      - fix common Author: representation
      
      Issue: #80663
      Change-Id: I6c3b2ca1ed48ed474a0ecd5a30fe793526e11b00
      5236ab05
    • Éloi Bail's avatar
      media/encoder: use max bitrate if possible · ab24c146
      Éloi Bail authored
      define max bitrate for H264. Encoder could then use less bitrate
      if he can.
      It seems that it is not possible for VP8 et MPEG4
      
      Issue: #80568
      Change-Id: I8dc2cfc76ac02ef1f159a380a9e6ce31bc9eac06
      ab24c146
  2. 19 Sep, 2015 1 commit
    • Guillaume Roguez's avatar
      threadloop: fix deadlock issue · a25e653f
      Guillaume Roguez authored
      start() can deadlock into join if a previous stop has been called and
      the thread hasn't seen it before started again.
      
      This patch solves that by using a transactional stop (using FSM).
      This also adds MoveConstructible and MoveAssignement behaviour.
      
      Issue: #80556
      Change-Id: Ie04e3a20007e69b4d372b9619d67710f4e2af1b7
      a25e653f
  3. 18 Sep, 2015 2 commits
  4. 17 Sep, 2015 1 commit
    • Éloi Bail's avatar
      media: tune decoder jitter buffer · 90dbad37
      Éloi Bail authored
      This patchset allows ring application to tune 2 parameters of
      libav jitter buffer:
      - buffer size: maximal amount of packets to be queued
      - packet delay: maximal amount of time a packet can be queued
      
      Tuning those values allows correct handling of packet reordering issues
      and network jitter.
      Notice that for the moment default libav values are set.
      
      Issue: #80311
      Change-Id: Ife4be65a12a01e381bc952b07741104f9a969213
      90dbad37
  5. 16 Sep, 2015 1 commit
    • Éloi Bail's avatar
      media: add libav default traces to warning · 6432f74f
      Éloi Bail authored
      Default trace level is ERROR. In order to investigate
      video decoding issues, I change it to WARNING
      After stabilisation, we should reset it to ERROR.
      
      Issue: #79686
      Change-Id: I2e77e1759e46748ddbef6f6a60c6cba55c4d0a41
      6432f74f
  6. 15 Sep, 2015 3 commits
  7. 14 Sep, 2015 2 commits
  8. 12 Sep, 2015 1 commit
    • Éloi Bail's avatar
      media_decoder: increase jitter buffer size · 1cb755ae
      Éloi Bail authored
      jitter buffer size is by default equal to 10.
      We see often packets reordering (on internet) that can not be managed
      by jitter buffer sized to 10. We increase the jitter buffer size to 30.
      
      Notice that it would lead to more latency and thus potentially to
      desynchronisation
      
      Issue: #80311
      Change-Id: I8e6ba6faea2be74602c5e63fded1b0d896c7a847
      1cb755ae
  9. 11 Sep, 2015 2 commits
    • Stepan Salenikovich's avatar
      im: use pjsip api to create and parse messages · b7ee00ee
      Stepan Salenikovich authored
      This supports both simple and multipart content types.
      
      *WARNING* the daemon API has not changed; however the previous
      implementation was not RFC compliant and thus messages sent from or
      received by a previous version of the daemon will not be interpreted
      correctly. Additionally the behaviour of the API has slightly changed.
      It will no longer split multiple message pairs received in the
      map<string, string> into multiple, separate SIP messages if they do not
      all fit into one. If there is only one pair in the map, then a message
      with a single content-type will be created and sent. If multiple pairs
      exist, then a multipart/mixed type message will be created. If the
      created message is too large to be sent, then no parts will be sent.
      
      Support for storing the URI of the original sender is dropped for now as it
      was not being used by the clients and the implementation was buggy.
      
      The APIs for creating XML recipient lists as defined by RFC 5365 remains
      but is no longer used for now.
      
      Issue: #79657
      Change-Id: I2b00cbd797fbb423ee0a7eb24748d2362e9f9ff8
      Signed-off-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      b7ee00ee
    • Guillaume Roguez's avatar
      utils: c++11'ify RING_ARRAYSIZE and CONST_PJ_STR macros · 6f868d66
      Guillaume Roguez authored
      Macros (C relica) are easly transformed into C++ using constexpr.
      Using template provides type-safe.
      
      RING_ARRAYSIZE becomes arraySize.
      CONST_PJ_STR has been also moved into sip_utils.
      
      Issue: #79703
      Change-Id: Ic197f53bbfeba363f0609908fa680f18529f8075
      6f868d66
  10. 04 Sep, 2015 5 commits
    • Éloi Bail's avatar
      rtp: ensure to synchronously update seq number · db771a00
      Éloi Bail authored
      When bitrate is changed, new RTP session created must rely
      on RTP sequence of previous RTP session in order to provide
      continous sequence numbers.
      This patchset ensures to keep last RTP sequence updated correctly
      ensuring that no new packet will be sent when bitrate change is performed.
      
      Issue: #80058
      Change-Id: Ia7fbecd19aa0ec648327307de3ce3f8eace163a0
      Signed-off-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      db771a00
    • Guillaume Roguez's avatar
      socket_pair: fix system socket · 549fd8fc
      Guillaume Roguez authored
      This patch tries to fix read errors on system socket when
      no data available.
      
      Issue: #80094
      Change-Id: I7306bb32402983a939e9eca6cc4dbcc4d854685c
      549fd8fc
    • Éloi Bail's avatar
      daemon: decrease default video bitrate · fefe9316
      Éloi Bail authored
      Decrease default video bitrate from 800 to 250 to adapt to slow connections
      
      Issue: #79686
      Change-Id: I5db1a8de025073a617ae5a2ff37c199a14354476
      fefe9316
    • Éloi Bail's avatar
      daemon: decrease RTP payload max size · 53297a6d
      Éloi Bail authored
      RTP packet maximum size must rely on maximum MTU size.
      Networks such as ADSL include PPPoE header that reduce maximum
      payload size.
      Notice that packets higher than MTU would lead to fragmentation
      by routers. With high bitrates in video, we want to avoid that.
      
      This patch proposes to reduce the maximum UDP payload size allowed
      to RTP to a value safe for PPPoE MTU.
      
      This value has been computed as follow:
      
      Ethernet MTU          = 1500 bytes
      PPPoE headers        -= 8
      IP headers           -= 24
      UDP headers          -= 8
      ----------------------------------
      Total for RTP payload = 1460 bytes
      
      Issue: #80080
      Change-Id: Ibc8d5943017f3cea3ac6e1f17f90a85f06755ebe
      53297a6d
    • Damien Riegel's avatar
      android: Fix logger by redefining LOG_FORMAT · 60ba1a74
      Damien Riegel authored
      FILE_NAME is not const char*, it cannot be concatenated with the format
      string at compile time, do it at runtime.
      
      Issue: #79812
      Change-Id: I9a0a3da4c0cbd66b23d32440509fc26cce0a0265
      60ba1a74
  11. 03 Sep, 2015 3 commits
  12. 02 Sep, 2015 4 commits
  13. 01 Sep, 2015 2 commits
  14. 31 Aug, 2015 1 commit
    • Éloi Bail's avatar
      daemon: force keyframe rate on encoder at 5 seconds · 87624f98
      Éloi Bail authored
      Some codecs, as h264, use a default keyframe rate based on frame count.
      As example, on h264 this rate is one IFrame each 250 frames.
      So this rate is sensible to fps changes, that ofen happens with
      output type (images, frame size, screen casting, etc).
      Using a rate based on fps seems more viable solution.
      
      Moreover, in order to handle video artifacts in case of missed packets,
      we want to send more keyframes so that artifacts will be seen for
      a shorter period.
      
      Note: the drawback of this solution is an average bitrate higher than
      before as I frames are bigger than P frames.
      
      Issue: #79690
      Change-Id: I0b9daef8723c84b5998c9eb156d1e73538e8abed
      Signed-off-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      87624f98
  15. 28 Aug, 2015 3 commits
    • Guillaume Roguez's avatar
      ice: move IO thread per transport · 5edab08f
      Guillaume Roguez authored
      IO events were handled by a unique thread owned by IceTransportFactory.
      This patch changes that by creating a thread per IceTransport instance.
      
      This improves a bit (on multiple-threaded architectures at least)
      events handling as not all events handler run at the same speed
      (SIP events are slow, Media IOs need low overhead).
      
      Issue: #79692
      Change-Id: Ie742373176f9447a14286910e6af562427cecdbd
      5edab08f
    • Éloi Bail's avatar
      daemon: force keyframes for 3 first frames · 6151e58d
      Éloi Bail authored
      Issue: #79690
      Change-Id: I953925048763a97eb58c2502164e2377405ee8d8
      Signed-off-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      6151e58d
    • Éloi Bail's avatar
      daemon: remove ice busy trace · 0e1961b3
      Éloi Bail authored
      Remove a trace warning that pjsip return EBUSY because it adds useless
      display processing.
      
      Issue: #79686
      Change-Id: I64a328ff90c46df85c911af7f7f049f1c47e0035
      0e1961b3
  16. 27 Aug, 2015 1 commit
    • Guillaume Roguez's avatar
      sip: fix display name parsing and saving · 9cc58d13
      Guillaume Roguez authored
      This patch parses optional display name that can be seen in From
      and Contact SIP headers, for incoming calls.
      Fallback on Contact header is made if From header is empty.
      
      This also send the local display name in From header for outgoing
      calls.
      
      Issue: #77375
      Change-Id: Iaef5e0e728a74427f3ced7efd947d09be91c0ac3
      9cc58d13
  17. 25 Aug, 2015 3 commits
  18. 21 Aug, 2015 1 commit
    • Guillaume Roguez's avatar
      socket_pair: cleanup and code quality · 2c5bad64
      Guillaume Roguez authored
      - use C-compatible lambda to simplify read/write callbacks
      - coding rules cleanup
      - efficient C++11
      - removed not needed rtcpWriteMutex_ mutex member
      
      Issue: #78983
      Change-Id: I88e1ed6d16cc9cff9b963045867f5a09ac9fea56
      2c5bad64
  19. 20 Aug, 2015 1 commit
  20. 19 Aug, 2015 1 commit