1. 15 Feb, 2019 2 commits
  2. 13 Feb, 2019 1 commit
  3. 12 Feb, 2019 1 commit
    • Tim-Philipp Müller's avatar
      buffer: store sequence number for metas · f62ee975
      Tim-Philipp Müller authored
      For metas where order might be significant if multiple metas are
      attached to the same buffer, so store a sequence number with the
      meta when adding it to the buffer. This allows users of the meta
      to make sure metas are processed in the right order.
      We need a 64-bit integer for the sequence number here in the API,
      a 32-bit one might overflow too easily with high packet/buffer
      rates. We could do it rtp-seqnum style of course, but that's a
      bit of a pain.
      We could also make it so that gst_buffer_add_meta() just keeps metas in
      order or rely on the order we add the metas in, but that seems too
      fragile overall, when buffers (incl. metas) get merged or split.
      Also add a compare function for easier sorting.
      We store the seqnum in the MetaItem struct here and not in the
      GstMeta struct since there's no padding in the GstMeta struct.
      We could add a private struct to GstMeta before the start of
      GstMeta, but that's what MetaItem effectively is implementation-
      wise. We can still change this later if we want, since it's all
      Fixes #262
  4. 09 Feb, 2019 1 commit
  5. 08 Feb, 2019 2 commits
  6. 05 Feb, 2019 1 commit
    • Nirbheek Chauhan's avatar
      misc: Fix various compiler warnings on MinGW · febfabb3
      Nirbheek Chauhan authored
      gstharness.c: Use G_GSIZE_FORMAT instead of hard-coding %zu
      error: unknown conversion type character 'z' in format [-Werror=format]
      gst-inspect.c: GPid is void* on non-UNIX, and we only use it on UNIX
      error: initialization makes pointer from integer without a cast [-Werror]
      gstmeta.c: Use and then discard value
      error: value computed is not used [-Werror=unused-value]
      With this, gstreamer builds with -Werror on MinGW
  7. 29 Jan, 2019 4 commits
  8. 28 Jan, 2019 1 commit
  9. 26 Jan, 2019 1 commit
    • Nicolas Dufresne's avatar
      pad: Remove unneeded 64bit upcast in debug trace · c816ec4f
      Nicolas Dufresne authored
      The hook->hook_id is a gulong for which there are no portability issues
      when tracing in printf format with %lu. So use %lu and remove the upcast
      to 64 bit. This makes the code more consistent with everything else
      tracing that hook_id and other gulong id.
  10. 25 Jan, 2019 1 commit
    • Nicolas Dufresne's avatar
      gst-inspect: Re-add DEFAULT_LESS_OPTS with initial value · 35300f82
      Nicolas Dufresne authored
      Commit 56b4fbef refactored the pipe code
      to use GLib utility, but the patch was hading some other changed. LESS
      env was now hardcoded in the middle instead of from a define and was
      changed from FXR to -RX. The "-" is not even valid for LESS env, and
      with the lost of F, we would still use a pager when the content fits the
  11. 24 Jan, 2019 2 commits
    • Sebastian Dröge's avatar
      taglist: Remove (scope call) annotation from gst_tag_register() · 5688773b
      Sebastian Dröge authored
      This was added in 7fdb15d6 but it is wrong. (scope call) is for
      closures that only have to stay valid for the scope of the call, but the
      tag merge function has to stay valid for the whole lifetime of the
      application instead.
      There's no appropriate scope annotation for that so we have to skip
      these functions for now.
    • Seungha Yang's avatar
      tests: info: Fix spurious validation · 5b19d30d
      Seungha Yang authored
      Should be equality check, not assignment.
      Additionally, use fail_unless_equals_* macro for better readability
      and debugging easier, if possible.
  12. 23 Jan, 2019 1 commit
  13. 22 Jan, 2019 1 commit
  14. 17 Jan, 2019 5 commits
  15. 16 Jan, 2019 1 commit
  16. 15 Jan, 2019 1 commit
  17. 14 Jan, 2019 1 commit
    • Daniel Drake's avatar
      deviceprovider: fix counting number of times started · e0c9b045
      Daniel Drake authored
      GstDeviceProvider has a started_count private variable counter,
      and the gst_device_provider_start() documentation emphasizes the
      importance of balancing the start and stop calls.
      However, when starting a provider that is already started, the
      current code will never increment the counter more than once.
      So you start it twice, but it will have start_count 1, which is the
      maximum value it will ever see.
      Then when you stop it twice, on the 2nd stop, after decrementing the
      counter in gst_device_provider_stop():
        else if (provider->priv->started_count < 1) {
              ("Trying to stop a GstDeviceProvider %s which is already stopped",
              GST_OBJECT_NAME (provider));
      and the program is killed.
      Fix this by incrementing the counter when starting a device provider that
      was already started.
  18. 11 Jan, 2019 1 commit
  19. 10 Jan, 2019 1 commit
  20. 09 Jan, 2019 4 commits
  21. 07 Jan, 2019 1 commit
    • Sebastian Dröge's avatar
      bin: Hold the state lock while removing elements from a bin · 7f70d7a9
      Sebastian Dröge authored
      We need to take the state lock here to ensure that we're
      not currently just before setting the state of this child
      element. Otherwise it can happen that we removed the element
      here and e.g. set it to NULL state, and shortly afterwards
      have another thread set it to a higher state again as part of
      a state change for the whole bin.
      When adding an element to the bin this is not needed as we
      require callers to always ensure after adding to the bin that
      the new element is set to the correct state.
  22. 05 Jan, 2019 1 commit
  23. 03 Jan, 2019 2 commits
  24. 31 Dec, 2018 3 commits
    • Michael Olbrich's avatar
      gdb: implement 'gst-dot' and 'gst-print' commands · c5b85da8
      Michael Olbrich authored
      This adds two custom gdb commands:
      'gst-dot' creates dot files that a very close to what
      GST_DEBUG_BIN_TO_DOT_FILE() produces. Object properties and buffer content
      (e.g. codec-data in caps) are not available.
      'gst-print' produces high-level information about GStreamer objects. This
      is currently limited to pads for GstElements and events for the pads. The
      output can look like this:
      (gdb) gst-print pad.object.parent
      GstMatroskaDemux (matroskademux0) {
          SinkPad (sink, pull) {
          SrcPad (video_0, push) {
                stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367
              caps: video/x-theora
                width: 1920
                height: 800
                pixel-aspect-ratio: 1/1
                framerate: 24/1
                streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] >
              segment: time
                rate: 1
              tag: global
                container-format: Matroska
          SrcPad (audio_0, push) {
                stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875
              caps: audio/mpeg
                mpegversion: 4
                framed: true
                stream-format: raw
                codec_data: 0x7fffe0014500 [GstBuffer]
                level: 2
                base-profile: lc
                profile: lc
                channels: 2
                rate: 44100
              segment: time
                rate: 1
              tag: global
                container-format: Matroska
              tag: stream
                audio-codec: MPEG-4 AAC audio
                language-code: en
    • Michael Olbrich's avatar
      gdb: make the code PEP-8 compliant · e43a0c99
      Michael Olbrich authored
    • Tim-Philipp Müller's avatar
      tests: remove unused gststream.h file · 156d33f3
      Tim-Philipp Müller authored
      Looks like an earlier version of the .c file.