1. 16 Feb, 2021 1 commit
  2. 15 Feb, 2021 3 commits
    • Mathieu Duponchelle's avatar
      docs: standardize GstContext, GstControlBinding documentation · 45d11f65
      Mathieu Duponchelle authored
      * Document virtual methods in standalone comments, in order to properly
        annotate them
      
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Mark GstControlBinding ABI field as private
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!758>
      45d11f65
    • Mathieu Duponchelle's avatar
      docs: standardize GstClock documentation · d5ae9f29
      Mathieu Duponchelle authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      * Don't mention explicitly that API is MT safe, this implies that
        other API is not. GStreamer API is assumed to be MT safe, thread
        safety should only be explicitly mentioned when API is *not* MT safe
      
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Document virtual methods in standalone comments, so that parameters
        can be documented. This is not critical here, as parameters do not
        need annotations / specific documentation, but serves as an up to
        date example
      
      * Document enumeration members in standalone comments, so that their
        Since tag is accounted for by gobject-introspection
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!756>
      d5ae9f29
    • Stéphane Cerveau's avatar
      features: remove extra G_BEGIN_DECLS/G_END_DECLS · 3952e19c
      Stéphane Cerveau authored
      _GST_ELEMENT_REGISTER_DEFINE_BEGIN
      _GST_ELEMENT_REGISTER_DEFINE_END was introducing
      an extra extern "C" in case of c++ build.
      
      Add missing ";" in GST_ELEMENT_REGISTER_DECLARE
      
      Part-of: <!757>
      3952e19c
  3. 11 Feb, 2021 1 commit
    • Mathieu Duponchelle's avatar
      docs: standardize GstCapsFeatures, GstChildProxy documentation · c53ea138
      Mathieu Duponchelle authored
      * Don't mention explicitly that API is MT safe, this implies that
        other API is not. GStreamer API is assumed to be MT safe, thread
        safety should only be explicitly mentioned when API is *not* MT safe
      
      * Document virtual methods in standalone comments, in order to properly
        annotate them
      
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!755>
      c53ea138
  4. 10 Feb, 2021 4 commits
    • Mathieu Duponchelle's avatar
      docs: standardize GstCaps documentation · 3f5042d7
      Mathieu Duponchelle authored
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Reword the warnings for caps nestability in light of the 1.20
        improvements
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!754>
      3f5042d7
    • Jan Schmidt's avatar
      tests: Add disjoint pad probe removal test. · 87fd35d5
      Jan Schmidt authored
      Add a test that removing a blocking probe on events when there
      is a different blocking probe on buffers releases the data flow.
      
      Part-of: <!749>
      87fd35d5
    • Jan Schmidt's avatar
      pad: Improve the documentation for GstPadProbeReturn. · da3886ac
      Jan Schmidt authored
      Explain that GST_PAD_PROBE_PASS will pass data even if there is
      another pad probe that says to block, and that GST_PAD_PROBE_REMOVE
      passes data and potentially unblocks the pad.
      
      Part-of: <!749>
      da3886ac
    • Jan Schmidt's avatar
      pad: Fix for multiple blocking probes interaction. · 170f6941
      Jan Schmidt authored
      Change the way the marshalled flag in the internal ProbeMarshall state
      is handled when iterating over pad probes so that it only counts
      probes that still exist and would be called when retrying.
      
      This improves the way that removing a blocking probe works when
      there are multiple blocking probes for different conditions (data vs
      events for example).
      
      As a side-effect, probes aren't put into the the called_probes array
      unless they actually match the current probe type and would be called,
      potentially reducing the number of hooks that get stored in the
      called_probes array, and the cost of the looping check on retries.
      
      Fixes #658
      
      Part-of: <!749>
      170f6941
  5. 09 Feb, 2021 1 commit
    • Mathieu Duponchelle's avatar
      docs: standardize GstBus documentation · 5df982fd
      Mathieu Duponchelle authored
      * Don't mention explicitly that API is MT safe, this implies that
        other API is not. GStreamer API is assumed to be MT safe, thread
        safety should only be explicitly mentioned when API is *not* MT safe
      
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Document virtual methods and the class structure
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!753>
      5df982fd
  6. 08 Feb, 2021 3 commits
  7. 05 Feb, 2021 1 commit
    • Mathieu Duponchelle's avatar
      docs: standardize GstBuffer documentation · d28fb558
      Mathieu Duponchelle authored
      * Don't mention explicitly that API is MT safe, this implies that
        other API is not. GStreamer API is assumed to be MT safe, thread
        safety should only be explicitly mentioned when API is *not* MT safe
      
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Document enumeration members in standalone comments, so that their
        Since tag is accounted for by gobject-introspection
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!748>
      d28fb558
  8. 04 Feb, 2021 2 commits
    • Mathieu Duponchelle's avatar
      docs: standardize GstBin documentation · 69c790c0
      Mathieu Duponchelle authored
      * Don't mention explicitly that API is MT safe, this implies that
        other API is not. GStreamer API is assumed to be MT safe, thread
        safety should only be explicitly mentioned when API is *not* MT safe
      
      * Don't repeat what annotations are stating with respect to ownership
        transfer, nullability
      
      * Document virtual methods in standalone comments, so that parameters
        can be documented. This is not critical here, as parameters do not
        need annotations / specific documentation, but serves as an up to
        date example
      
      * Document enumeration members in standalone comments, so that their
        Since tag is accounted for by gobject-introspection
      
      * Misc cleanup / typo fixes / addition of links
      
      Part-of: <!747>
      69c790c0
    • Mathieu Duponchelle's avatar
      docs: reformat and cleanup GstBin SECTION comment · 50ab7f1b
      Mathieu Duponchelle authored
      Part-of: <!747>
      50ab7f1b
  9. 02 Feb, 2021 4 commits
  10. 31 Jan, 2021 1 commit
  11. 28 Jan, 2021 1 commit
    • Aleksandr Slobodeniuk's avatar
      gstvalue: fix compilation warning in "holds" macros · ec834321
      Aleksandr Slobodeniuk authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      GST_VALUE_HOLDS_... macros may cause -Waddress warning
      on gcc if GValue is allocated on stack:
      
      gstvalue.h:145:46: warning: the comparison will always
      evaluate as ‘true’ for the address of ‘v’ will never
      be NULL [-Waddress]
      
       #define GST_VALUE_HOLDS_CAPS(x)         ((x) != NULL &&
        G_VALUE_TYPE(x) == _gst_caps_type)
      
      Fixes #653
      
      Part-of: <!738>
      ec834321
  12. 19 Jan, 2021 5 commits
    • Chris White's avatar
      structure: add tests of deserializing strings with escapes · 9d2825cc
      Chris White authored and Thibault Saunier's avatar Thibault Saunier committed
      Shows the issue described in
      <!303 (comment 272629)>
      
      Part-of: <!303>
      9d2825cc
    • Henry Wilkes's avatar
      gstvalue: preserve parse behaviour with warning · 5eba2b83
      Henry Wilkes authored and Thibault Saunier's avatar Thibault Saunier committed
      Preserve the previous behaviour where:
          name, val="5";
      passed to gst_structure_from_string would have resulted in an int value,
      rather than a string, despite the quote marks.
      
      This will be changed to being interpreted as a string in the future, but
      for the time being we will issue a warning about this to give users time
      to fix their code to no longer rely on this bug.
      
      Part-of: <!303>
      5eba2b83
    • Henry Wilkes's avatar
      gstvalue: make gst_string_unwrap less strict · 445df0c7
      Henry Wilkes authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      Allow a string in gst_string_unwrap to include unescaped characters that
      are not in GST_STRING_IS_ASCII. This extra leniency allows
      gst_structure_from_string to, e.g., receive
          name, val=(string)"string with space";
      
      Note that many gst tests, and potentially users, exploited this behaviour
      by giving
          name, val="string with space";
      i.e. without the (string) type specifier. This was allowed before
      because, without a type specifier, the string was passed to
      _priv_gst_value_parse_string with unescape set to TRUE, *rather* than
      being sent to gst_string_unwrap. This caused a difference in behaviour
      between strings that are or are not preceded by (string). E.g.
          name, val=(string)"string with space";
      would fail, whilst
          name, val="string with space";
      would not. And
          name, val=(string)"\316\261";
      would produce a val="α", whereas
          name, val=(string)"\316\261";
      would produce a val="316261" (a bug).
      
      The current behaviour is to treat both of these cases the same, which is
      desirable. But in order to not break potentially common usage of this
      discrepancy (it was in our own tests), the best option is to make string
      parsing less strict in general.
      
      New behaviour would be for
          name, val=(string)"string with space";
      to pass and give val="string with space", and
          name, val="\316\261";
      would produce a val="α".
      
      Also changed deserializing string test to expect successes where
      previously a failure was expected.
      
      In a similar way, this also effected the deserializing of GstStructure,
      GstCaps, GstTagList and GstCapsFeatures. So, now
          name, val=(structure)"sub-name, sub-val=(string)\"a: \\316\\261\";";
      will also pass and give sub-val="a: α". Note that the quote marks
      and backslash still need to be escaped for the sub-structure, but other
      characters need not be.
      
      Part-of: <!303>
      445df0c7
    • Henry Wilkes's avatar
      value: add serialize-deserialize tests · 454b121f
      Henry Wilkes authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      Added tests to ensure that the gst_value_deserialize reverses
      gst_value_serialize.
      
      Part-of: <!303>
      454b121f
    • Henry Wilkes's avatar
      structure: don't unescape values before deserializing · 7f267395
      Henry Wilkes authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      No longer call _priv_gst_value_parse_string with unescape set to TRUE
      before passing a value to gst_value_deserialize in
      _priv_gst_value_parse_value. This latter function is called by
      gst_structure_from_string and gst_caps_from_string.
      
      When gst_structure_to_string and gst_caps_to_string are called, no
      escaping is performed after calling gst_value_serialize. Therefore, by
      unescaping the value string, we were introducing an additional operation
      that was not performed by the original *_to_string functions. In
      particular, this has meant that the derialization functions for many
      non-basic types are incomplete reverses of the corresponding
      serialization function (i.e., if you pipe the output of the
      serialization function into the deserialization function it could fail)
      because they have to compensate for this additional escaping operation,
      when really this should be the domain of the deserialization functions
      instead.
      
      Correspondingly changed a few deserialization functions.
      
      Fixes #452
      
      Part-of: <!303>
      7f267395
  13. 14 Jan, 2021 5 commits
  14. 12 Jan, 2021 1 commit
  15. 11 Jan, 2021 1 commit
  16. 07 Jan, 2021 1 commit
  17. 23 Dec, 2020 1 commit
  18. 22 Dec, 2020 1 commit
  19. 20 Dec, 2020 1 commit
  20. 11 Dec, 2020 2 commits