1. 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.
      5688773b
    • 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.
      5b19d30d
  2. 23 Jan, 2019 1 commit
  3. 22 Jan, 2019 1 commit
  4. 17 Jan, 2019 5 commits
  5. 16 Jan, 2019 1 commit
  6. 15 Jan, 2019 1 commit
  7. 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) {
          g_critical
              ("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.
      e0c9b045
  8. 11 Jan, 2019 1 commit
  9. 10 Jan, 2019 1 commit
  10. 09 Jan, 2019 4 commits
  11. 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.
      7f70d7a9
  12. 05 Jan, 2019 1 commit
  13. 03 Jan, 2019 2 commits
  14. 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) {
            events:
              stream-start:
                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) {
            events:
              stream-start:
                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
          }
      }
      c5b85da8
    • Michael Olbrich's avatar
      gdb: make the code PEP-8 compliant · e43a0c99
      Michael Olbrich authored
      e43a0c99
    • 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.
      156d33f3
  15. 19 Dec, 2018 3 commits
  16. 18 Dec, 2018 1 commit
    • Jonny Lamb's avatar
      identity: fixes to the eos-after and error-after properties · 63170d52
      Jonny Lamb authored
      I copied `error-after` to make the `eos-after` property, but it turned
      out there were some problems with that one, so this patch: adds
      separate counters (so setting to NULL and reusing the element will
      still work); clarifies the properties' min values; and reports an
      error when both are set.
      63170d52
  17. 17 Dec, 2018 3 commits
  18. 15 Dec, 2018 4 commits
  19. 14 Dec, 2018 2 commits
  20. 11 Dec, 2018 2 commits
    • Jonny Lamb's avatar
      identity: add eos-after property · 460c0edb
      Jonny Lamb authored
      Using `num-buffers` can be unpredictable as buffer sizes are often
      arbitrary (filesrc, multifilesrc, etc.). The `error-after` property on
      `identity` is better but obviously reports an error afterwards. This
      adds `eos-after` which does exactly the same thing but reports EOS
      instead.
      460c0edb
    • Guillaume Desmottes's avatar
      gstcaps: add gst_caps_set_features_simple() · e03f086f
      Guillaume Desmottes authored
      Convenient helper setting a caps feature on all the structures of a
      caps.
      e03f086f