1. 28 Nov, 2018 1 commit
  2. 27 Oct, 2018 1 commit
  3. 17 Aug, 2018 4 commits
  4. 21 Mar, 2018 1 commit
    • Petr Kulhavy's avatar
      udpsrc: switch to using a buffer pool · 738eb0d8
      Petr Kulhavy authored
      This exposes a new property, mtu, which is used to determine the
      initial size of buffers from the buffer pool. If received data
      exceeds this, the element gracefully handles that in a manner similar
      to what we had previously: a large memory gets filled and reallocated
      at the next call to "fill".
      
      The default size is set to 1500, which should cover most use cases.
      
      With contributions from Mathieu Duponchelle <mathieu@centricular.com>
      
      https://bugzilla.gnome.org/show_bug.cgi?id=772841
      738eb0d8
  5. 12 Jan, 2018 1 commit
  6. 23 Dec, 2017 1 commit
  7. 14 Feb, 2017 1 commit
  8. 19 Dec, 2016 1 commit
  9. 14 Nov, 2016 2 commits
  10. 27 Oct, 2016 1 commit
  11. 12 Sep, 2016 1 commit
  12. 10 Jul, 2016 1 commit
  13. 28 Jun, 2016 5 commits
  14. 18 May, 2016 1 commit
  15. 17 May, 2016 1 commit
  16. 29 Apr, 2016 1 commit
  17. 18 Apr, 2016 1 commit
  18. 24 Mar, 2016 1 commit
  19. 04 Mar, 2016 1 commit
  20. 17 Nov, 2015 1 commit
  21. 23 Oct, 2015 1 commit
  22. 02 Oct, 2015 2 commits
  23. 04 Sep, 2015 2 commits
  24. 27 May, 2015 1 commit
  25. 19 May, 2015 1 commit
  26. 24 Apr, 2015 1 commit
  27. 02 Nov, 2014 1 commit
  28. 12 Sep, 2014 1 commit
  29. 09 Sep, 2014 2 commits
    • Tim-Philipp Müller's avatar
      udpsrc: more efficient memory handling · e6f77948
      Tim-Philipp Müller authored
      Drop use of g_socket_get_available_bytes() which is
      not useful on all systems (where it returns the size
      of the entire buffer not that of the next pending
      packet), and is yet another syscall and apparently
      very inefficient on Windows in the UDP case.
      
      Instead, when reading UDP packets, use the more featureful
      g_socket_receive_message() call that allows to read into
      scattered memory, and allocate one memory chunk which is
      likely to be large enough for a packet, while also providing
      a larger allocated memory chunk just in case the packet
      is larger than expected. If the received data fits into the
      first chunk, we'll just add that to the buffer we return
      and re-use the fallback buffer for next time, otherwise we
      add both chunks to the buffer.
      
      This reduces memory waste more reliably on systems where
      get_available_bytes() doesn't work properly.
      
      In a multimedia streaming scenario, incoming UDP packets
      are almost never fragmented and thus almost always smaller
      than the MTU size, which is also why we don't try to do
      something smarter with more fallback memory chunks of
      different sizes. The fallback scenario is just for when
      someone built a broken sender pipeline (not using a
      payloader or somesuch)
      
      https://bugzilla.gnome.org/show_bug.cgi?id=610364
      e6f77948
    • Tim-Philipp Müller's avatar
      udpsrc: rework memory allocation bits and ensure we always have two chunks of memories to read into · 39505584
      Tim-Philipp Müller authored
      First chunk is the likely/expected buffer size, second is as
      fallback in case the packet is larger in the end.
      
      Next step: actually use these.
      39505584