Skip to content
Snippets Groups Projects
  1. Mar 18, 2020
  2. Mar 14, 2020
  3. Mar 13, 2020
  4. Mar 12, 2020
  5. Mar 11, 2020
  6. Mar 09, 2020
  7. Mar 05, 2020
  8. Mar 03, 2020
  9. Mar 02, 2020
  10. Feb 28, 2020
  11. Feb 27, 2020
  12. Feb 26, 2020
  13. Feb 25, 2020
    • Nirbheek Chauhan's avatar
      Don't use glib format modifiers with sscanf or printf · e9085043
      Nirbheek Chauhan authored
      We do not have a way to know the format modifiers to use with string
      functions provided by the system. `G_GUINT64_FORMAT` and other string
      modifiers only work for glib string formatting functions. We cannot
      use them for string functions provided by the stdlib. See:
      https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
      
      F.ex.:
      
      ```
       ../tools/gst-stats.c:921:11: error: too many arguments for format [-Werror=format-extra-args]
         printf ("Number of Buffers passed: %" G_GUINT64_FORMAT "\n", num_buffers);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../tools/gst-stats.c:922:11: error: unknown conversion type character 'l' in format [-Werror=format=]
         printf ("Number of Events sent: %" G_GUINT64_FORMAT "\n", num_events);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32,
                       from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32,
                       from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30,
                       from ../gst/gst.h:27,
                       from ../tools/tools.h:28,
                       from ../tools/gst-stats.c:30:
      /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
       #define G_GUINT64_FORMAT "llu"
                                  ^
      ```
      
      and
      
      ```
      ../tests/misc/netclock-replay.c: In function 'main':
      ../tests/misc/netclock-replay.c:98:23: error: unknown conversion type character 'l' in format [-Werror=format=]
           if (sscanf (line, "%" G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " %"
                             ^~~
      In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/gtypes.h:32,
                       from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/galloca.h:32,
                       from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib.h:30,
                       from ../tests/misc/../../libs/gst/net/gstntppacket.c:38,
                       from ../tests/misc/netclock-replay.c:31:
      /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
       #define G_GUINT64_FORMAT "llu"
                                  ^
      ```
      
      This is needed for upgrading glib inside Cerbero which builds with
      `-Werror` on Windows:
      gstreamer/cerbero!419
      e9085043
  14. Feb 19, 2020
  15. Feb 15, 2020
  16. Feb 14, 2020
  17. Feb 13, 2020
  18. Feb 12, 2020
    • Henry Wilkes's avatar
      caps: keep ANY caps empty internally · 412e97be
      Henry Wilkes authored and Jan Schmidt's avatar Jan Schmidt committed
      Keep the ANY caps empty internally when appending and merging
      caps/structures. Previously, an ANY caps could end up containing
      internal structures, which could be fetched by the user, and gave the
      caps a non-zero length.
      
      Also, made sure that `gst_caps_set_features_simple` frees the features
      if caps is empty.
      412e97be
    • Henry Wilkes's avatar
      caps: fix is_strictly_equal · 407e3258
      Henry Wilkes authored and Jan Schmidt's avatar Jan Schmidt committed
      Fixed gst_caps_is_strictly_equal() to take into account whether either of
      the caps are ANY caps. Previously, two ANY caps could be considered not
      strictly equal if one of them still contained some remnant *internal*
      structure (this can happen if an ANY caps has emerged from an append or
      merge operation). Also, an ANY caps with no remnant internal structures
      was considered strictly equal to an EMPTY caps. Similarly, a non-ANY caps
      was considered strictly equal to an ANY caps if its remnant internal
      structures happened to match.
      
      Also changed gst_caps_is_fixed to take into account that an ANY caps
      should not be considered fixed even if it contains a single remnant
      internal fixed structure. This affects gst_caps_is_equal(), which uses a
      separate method if both caps are fixed. Previously, this meant that a
      non-ANY fixed caps was considered equal to an ANY caps if it contained a
      single matching remnant internal structure.
      
      Added some tests for these two equality methods, which covers the above
      examples, as well as asserts existing behaviour.
      
      Fixes #496
      407e3258
  19. Feb 10, 2020
  20. Feb 04, 2020
    • Thibault Saunier's avatar
      baseparse: Don't set meaningless buffer dts from segment->start · baa5aae2
      Thibault Saunier authored and Thibault Saunier's avatar Thibault Saunier committed
      When we do not have any information about DTSs we shouldn't try to make
      them up, moreover after seeking `segment->start` has nothing to do with
      the next buffer timing (and is probably after the actual buffer timestamp)
      and since, since fa831247
      we do:
      
      ```
      if (buffer->dts > buffer->dts)
          buffer->pts = buffer->dts
      ```
      
      we end up setting `buffer->pts = segment->start` which is plain
      broken and leads to downstream decoder accept the first buffer
      as it will be inside the segment (its pts==segment->start) which
      basically means accurate seeking behaves mostly the same way as
      keyframe seeks.
      
      Fixes #492
      baa5aae2
  21. Jan 27, 2020
    • Olivier Crête's avatar
      systemclock: No need to check for CLOCK_TAI in the meson · b4ba9ec0
      Olivier Crête authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      POSIX defines CLOCK_MONOTONIC to always be a macro, so I think
      it's safe to assume that CLOCK_TAI will also be.
      b4ba9ec0
    • Ederson de Souza's avatar
      GstSystemClock: Add GST_CLOCK_TYPE_TAI · 216d6dd0
      Ederson de Souza authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      GST_CLOCK_TYPE_TAI is GStreamer abstraction for CLOCK_TAI. Main
      motivation for this patch is support for transmission offloading features
      - when network packets are timestamped with the time they are deemed to
      be actually transmitted. Linux API for that requires that time to be
      in CLOCK_TAI coordinate.
      
      With GST_CLOCK_TYPE_TAI, applications can use CLOCK_TAI directly on
      their pipelines, avoiding the need to cross timestamp packet times. By
      leveraging system's CLOCK_TAI, applications also don't need to keep track
      of leap seconds - less burden for them. Just keep system's CLOCK_TAI
      accurate and use it.
      216d6dd0
  22. Jan 24, 2020
    • Sebastian Dröge's avatar
      bin: Don't consider having a group-id or being STREAM_START if we have not a... · 47765e16
      Sebastian Dröge authored
      bin: Don't consider having a group-id or being STREAM_START if we have not a single STREAM_START message
      
      This would cause us to set GST_GROUP_ID_INVALID as group-id in the
      aggregated STREAM_START message if there are no sinks at all or none of
      them have a STREAM_START message, which is simply wrong.
      
      If we have not a single STREAM_START message then the bin should not be
      considered STREAM_START.
      47765e16
Loading