1. 14 Jan, 2021 6 commits
  2. 12 Jan, 2021 1 commit
  3. 11 Jan, 2021 1 commit
  4. 07 Jan, 2021 1 commit
  5. 23 Dec, 2020 1 commit
  6. 22 Dec, 2020 1 commit
  7. 20 Dec, 2020 1 commit
  8. 11 Dec, 2020 3 commits
  9. 10 Dec, 2020 7 commits
  10. 08 Dec, 2020 1 commit
  11. 07 Dec, 2020 5 commits
  12. 04 Dec, 2020 3 commits
    • Thibault Saunier's avatar
      gst: Add new structure/caps/_to_string using the brackets for nesting · c35d4712
      Thibault Saunier authored
      This adds `gst_structure_serialize` and `gst_caps_serialize` which use
      the newly introduced bracket delimiters for nested structures.
      
      Part-of: <!532>
      c35d4712
    • Thibault Saunier's avatar
      330450ef
    • Thibault Saunier's avatar
      structure: Add support for brackets as nested structures/caps specifiers · 322caf88
      Thibault Saunier authored
      This introduces a more human friendly syntax to specify nested
      structures It does so by using 2 different markers for opening and
      closing them instead of abusing quotes which lead to requiring an insane
      amount of escaping to match nesting levels.
      
      The brackets (`[` and `]`) have been chosen as they avoid complex
      constructions with curly brackets (or lower/higher than signs) where you
      could have structures embedded inside arrays (which also use curly
      brackets), ie. `s, array=(structure){{struct}}` should be parsed as an
      array of structures, but the cast seems to imply something different. We
      do not have this issue with brackets as they are currently used for
      ranges, which can only be casted to numeric types.
      
      This commit does not make use of that new syntax for serialization as
      that would break backward compatibility, so it is basically a 'sugar'
      syntax for humans. A notice has been explicitly made in the
      documentation to let the user know about it.
      
      Part-of: <gstreamer/gstreamer!532>
      322caf88
  13. 03 Dec, 2020 1 commit
  14. 02 Dec, 2020 3 commits
  15. 20 Nov, 2020 1 commit
  16. 10 Nov, 2020 1 commit
  17. 06 Nov, 2020 1 commit
    • Edward Hervey's avatar
      systemclock: Use clock_nanosleep for higher accuracy · 17feeb1b
      Edward Hervey authored
      The various wait implementation have a latency ranging from 50 to 500+
      microseconds. While this is not a major issue when dealing with a low number of
      waits per second (for ex: video), it does introduce a non-negligeable jitter for
      synchronization of higher packet rate systems.
      
      The `clock_nanosleep` syscall does offer a lower-latency waiting system but is
      unfortunately blocking, so we don't want to use it in all scenarios nor for too
      long.
      
      This patch makes GstSystemClock use clock_nanosleep (if available) as such:
      * Any wait below 500us uses it
      * Any wait below 2ms will first use the regular waiting system and then
        clock_nanosleep
      
        #	modified:   gst/gstsystemclock.c
      
      Part-of: <gstreamer/gstreamer!688>
      17feeb1b
  18. 05 Nov, 2020 2 commits
    • Mathieu Duponchelle's avatar
      taskpool: expose new "shared" task pool implementation · b6df5642
      Mathieu Duponchelle authored
      While the default implementation will spawn a thread per new
      pushed task, this new implementation instead spawns a maximum
      number of threads, then queues new tasks on existing threads.
      
      The thread that the new task will be queued on is picked in
      a pretty naive fashion, by simply popping the first thread
      from a queue and pushing it back to the tail, but this is
      an implementation detail and can always be sophisticated
      in the future if the need arises.
      
      Part-of: <!692>
      b6df5642
    • Mathieu Duponchelle's avatar
      taskpool: expose dispose_handle() API · b508287a
      Mathieu Duponchelle authored
      This is useful when the subclass does return a non-NULL pointer
      in push(), and the user doesn't want to call join()
      
      Part-of: <gstreamer/gstreamer!692>
      b508287a