1. 25 Apr, 2018 1 commit
  2. 09 Feb, 2018 1 commit
  3. 16 May, 2017 1 commit
  4. 14 Mar, 2017 1 commit
  5. 10 Mar, 2017 1 commit
  6. 04 Jan, 2017 1 commit
  7. 21 Dec, 2016 1 commit
  8. 29 Nov, 2016 2 commits
  9. 20 Aug, 2016 1 commit
  10. 05 May, 2016 1 commit
  11. 24 Mar, 2016 1 commit
  12. 14 Mar, 2016 3 commits
  13. 01 Mar, 2016 1 commit
  14. 20 Feb, 2016 1 commit
  15. 16 Dec, 2015 1 commit
  16. 10 Dec, 2015 3 commits
    • Wim Taymans's avatar
      multisocketsink: add GstNetworkMessage event · 9c2bcd7b
      Wim Taymans authored
      Add a property and logic to send a GstNetworkMessage event containing
      the message that was received from a client. This can be used to
      implement simply bidirectional communication.
      9c2bcd7b
    • Wim Taymans's avatar
      multisocketsink: add dispatched event · 9aaaa26f
      Wim Taymans authored
      Add a property and logic to send a GstNetworkMessageDispatched
      event upstream to notify that a buffer has been sent. This can be used
      to keep track of what client received what buffers.
      9aaaa26f
    • Wim Taymans's avatar
      socketsrc: handle GstNetworkMessage events · 0e1a858d
      Wim Taymans authored
      Add a property to handle GstNetworkMessage events. These events contain
      a buffer that is sent on the socket to allow for simple bidirectional
      communication.
      0e1a858d
  17. 04 Dec, 2015 1 commit
  18. 02 Dec, 2015 1 commit
  19. 31 Oct, 2015 1 commit
  20. 17 Sep, 2015 1 commit
  21. 14 Jul, 2015 1 commit
  22. 03 Jul, 2015 1 commit
    • Stefan Sauer's avatar
      docs: order and canonicalize the -sections.txt file · 75cc08d4
      Stefan Sauer authored
      Have all sections in alphabetical order. Also make the macro order consistent.
      This is a preparation for generating the file. Remove GET_CLASS macro for
      some elements, since it is not used and the header is not installed.
      75cc08d4
  23. 19 May, 2015 1 commit
  24. 10 May, 2015 1 commit
  25. 26 Apr, 2015 1 commit
  26. 24 Apr, 2015 1 commit
  27. 04 Apr, 2015 1 commit
  28. 14 Mar, 2015 2 commits
    • William Manley's avatar
      socketsrc: Add support for GstNetControlMessageMeta · 8328eab2
      William Manley authored
      multisocketsink now understands the new GstNetControlMessageMeta to allow
      sending control messages (ancillary data) with data when writing to Unix
      domain sockets.
      
      Thanks to glib's `GSocketControlMessage` abstraction the code introduced
      in this commit is entirely portable and doesn't introduce and additional
      dependencies or conditionally compiled code, even if it is unlikely to be
      of much use on non-UNIX systems.
      8328eab2
    • William Manley's avatar
      multisocketsink: Add support for GstNetControlMessageMeta · e63e023e
      William Manley authored
      multisocketsink now understands the new GstNetControlMessageMeta to allow
      sending control messages (ancillary data) with data when writing to Unix
      domain sockets.
      
      A later commit will introduce a new socketsrc element which will similarly
      understand `GstNetControlMessageMeta`.  This, when used with a
      `GSocketControlMessage` of type `GUnixFDMessage` will allow GStreamer to
      send and receive file-descriptions in ancillary data, the first step to
      using memfds to implement zero-copy video IPC.
      
      Thanks to glib's `GSocketControlMessage` abstraction the code introduced
      in this commit is entirely portable and doesn't introduce and additional
      dependencies or conditionally compiled code, even if it is unlikely to be
      of much use on non-UNIX systems.
      e63e023e
  29. 13 Mar, 2015 5 commits
    • William Manley's avatar
      socketsrc: Add `connection-closed-by-peer` signal · a297b054
      William Manley authored
      This provides notification that the socket in use was closed by the peer
      and gives an opportunity to replace it with a new one which is not
      closed, allowing reading from many sockets in order.
      
      I use this in pulsevideo to implement reconnection logic to handle the
      pulsevideo service dieing, such that is can be restarted without
      disrupting downstream.
      
      Fixes https://bugzilla.gnome.org/show_bug.cgi?id=739546
      a297b054
    • William Manley's avatar
      socketsrc: Tidy up usage of `g_object_unref`/`g_clear_object` and locking · a19ac4b8
      William Manley authored
      This is clearer, and should make future changes safer.  No functional
      change intended.
      
      See https://bugzilla.gnome.org/show_bug.cgi?id=739546
      a19ac4b8
    • William Manley's avatar
      socketsrc: Refactor to simplify · 0c054aa0
      William Manley authored
      * Don't bother polling, just do a blocking read, the `GCancellable` will
        take care of unlocking.  This should also be faster on MS Windows where
        the GIO documentation for `g_socket_get_available_bytes` states: "Note
        that on Windows, this function is rather inefficient in the UDP case".
      
      * Implement `GstPushSrc.fill` rather than `GstPushSrc.create`.  This means
        that we will be using the downstream allocator which may be more
        efficient.  It also means that socketsrc is likely to respect its
        "blocksize" property (assuming that there is enough data available).
      
      See https://bugzilla.gnome.org/show_bug.cgi?id=739546
      0c054aa0
    • William Manley's avatar
      tcp: Add element socketsrc · 7c10499e
      William Manley authored
      `socketsrc` can be considered a source counterpart to `multisocketsink`.
      It can be considered a generalization of `tcpclientsrc` and
      `tcpserversrc`:  it contains all the logic required to communicate over
      the socket but none of the logic for creating the sockets/establishing
      the connection in the first place, allowing the user to accomplish this
      externally in whatever manner they wish making it applicable to other
      types of sockets besides TCP.
      
      This commit essentially copies the implementation directly from
      tcpserversrc.  Later patches will tidy the implementation up and
      re-implement `tcpclientsrc` and `tcpserversrc` in terms of `socketsrc`.
      
      See https://bugzilla.gnome.org/show_bug.cgi?id=739546
      7c10499e
    • William Manley's avatar
      multisocketsink: Map `GstMemory`s individually when sending · b8232a74
      William Manley authored
      If a buffer is made up of non-contiguous `GstMemory`s `gst_buffer_map`
      has to copy all the data into a new `GstMemory` which is contiguous.  By
      mapping all the `GstMemory`s individually and then using scatter-gather
      IO we avoid this situation.
      
      This is a preparatory step for adding support to multisocketsink for
      sending file descriptors, where a GstBuffer may be made up of several
      `GstMemory`s, some of which are backed by a memfd or file, but I think this
      patch is valid and useful on its own.
      
      Fixes https://bugzilla.gnome.org/show_bug.cgi?id=746150
      b8232a74
  30. 01 Dec, 2014 1 commit