1. 10 Nov, 2011 1 commit
    • Wim Taymans's avatar
      pad: remove GstPadFixateCapsFunction · 37318a8c
      Wim Taymans authored
      The fixate caps function was not used externally and we have vmethods in the
      base classes where it is needed.
      Update some docs.
      simplify some fixate functions in the base classes. Also pass the untruncated
      caps to the vmethod.
      37318a8c
  2. 09 Nov, 2011 1 commit
  3. 08 Nov, 2011 4 commits
  4. 07 Nov, 2011 1 commit
    • Wim Taymans's avatar
      pad: rework pad probes · 24e596a1
      Wim Taymans authored
      Make a separate cookie to detect chancges in the list of probes and keeping
      track of what hooks have been invoked yet.
      Remove the requirement to have probes on srcpads in push mode and sinkpads in
      pull mode.
      Add some more debug.
      Keep track of what callbacks got executed. If no callback is called and we are a
      blocking pad, let the item pass. This allows you to block pads on selected
      items only.
      Explicitly have an UPSTREAM and DOWNSTREAM PadProbeType. This allows you to only
      block the pad on upstream or downstream items.
      Add convenience macros to only block on downstream/upstream items.
      24e596a1
  5. 01 Nov, 2011 1 commit
    • Tim-Philipp Müller's avatar
      pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return} · bffc9207
      Tim-Philipp Müller authored
      Better now than later in the cycle. These might come in handy:
      
      sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g'   `git grep GstProbeReturn  | sed -e 's/:.*//' | sort -u`
      sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g'          `git grep GST_PROBE_      | sed -e 's/:.*//' | sort -u`
      sed -i -e 's/GstProbeType/GstPadProbeType/g'       `git grep GstProbeType    | sed -e 's/:.*//' | sort -u`
      bffc9207
  6. 11 Oct, 2011 1 commit
  7. 10 Oct, 2011 1 commit
  8. 10 Jun, 2011 1 commit
    • Wim Taymans's avatar
      event: add reset_time boolean to flush_stop event · bbfec45e
      Wim Taymans authored
      Add a boolean to the flush_stop event to make it possible to implement flushes
      that don't reset_time.
      Make basesink post async_done with the reset_time property from the flush stop
      event.
      Fix some unit tests
      bbfec45e
  9. 04 Jun, 2011 1 commit
  10. 01 Jun, 2011 3 commits
    • Wim Taymans's avatar
      pad: further improve probes and pad blocking · 3f515633
      Wim Taymans authored
      Keep track of installed number of probes to shortcut emission.
      Allow NULL callbacks, this is useful for blocking probes.
      Improve probe selection based on the mask, an empty mask for the data or the
      scheduling flags equals that all probes match.
      Add some more debug info.
      Don't check the flushing flag in the probe callback handler, this needs to be
      done before calling the handler.
      Fix blocking probes.
      Fix unit tests
      3f515633
    • Wim Taymans's avatar
      pad: implement pad block with probes · 8abc457a
      Wim Taymans authored
      8abc457a
    • Wim Taymans's avatar
      utils: remove _full variants of probes · a5bbf7f3
      Wim Taymans authored
      Remove the _full variants and add the destroy notify to the regular methods.
      a5bbf7f3
  11. 30 May, 2011 2 commits
    • Wim Taymans's avatar
      pad: Rework pad blocking, another attempt · fce85f75
      Wim Taymans authored
      Make the PadBlock callback take a GstBlockType parameter to handle the different
      kind of stages in the pad block. This provides for more backwards compatibility
      in the pad block API.
      Separate blocking and unblocking into different methods, only blocking can do a
      callback, unblock is always immediately. Also removed synchronous blocking, it
      can always be implemented with a callback.
      fce85f75
    • Wim Taymans's avatar
      Revert "pad: rework pad blocking, first part" · 565f492a
      Wim Taymans authored
      This reverts commit 415da89f.
      
      Conflicts:
      
      	gst/gstpad.c
      565f492a
  12. 27 May, 2011 1 commit
    • Wim Taymans's avatar
      pad: rework pad blocking, first part · 415da89f
      Wim Taymans authored
      Make pad block call the callback as soon as the pad is not in use. This makes it
      possible to make sure that when the callback is called, no activity is happening
      on the pad and that no activity will ever happen until the pad is unblocked
      again. This makes pad blocking work when there is no dataflow or after EOS and
      greatly helps dynamic pipelines.
      Move the probe handling right where we wait on the pad block. The two are
      related but not the same and the probe can eventually influence the pad
      blocking as we'll se later.
      Fix up some broken unit tests or tests that fail with the new behaviour.
      415da89f
  13. 26 May, 2011 1 commit
  14. 20 May, 2011 1 commit
    • Wim Taymans's avatar
      pad: add pending event for sticky events · 31a314ac
      Wim Taymans authored
      Change the sticky event array so that it contains a pending and an active event.
      Events on the sinkpad are copied to the pending array and after the eventfunc
      returned TRUE, moved to the active event. This allows us to queue new events
      like when we do per-pad offsets without removing the currently active event.
      Remove the active argument from the gst_pad_get_sticky_event() method, the
      pending events are not something we want to expose.
      31a314ac
  15. 19 May, 2011 1 commit
  16. 18 May, 2011 1 commit
    • Wim Taymans's avatar
      pad: rework sticky events a little · 029ac459
      Wim Taymans authored
      Update the design docs with some clear rules for how sticky events are
      handled.
      Reimplement the sticky tags, use a small structure to hold the event and its
      current state (active or inactive).
      Events on sinkpads only become active when the event function returned success
      for the event.
      When linking, only update events that are different.
      Avoid making a copy of the event array, use the object lock to protect the event
      array and release it only to call the event function. This will need to check
      if something changed, later.
      Disable a test in the unit test, it can't work yet.
      029ac459
  17. 17 May, 2011 2 commits
  18. 08 May, 2011 1 commit
  19. 05 May, 2011 1 commit
  20. 04 May, 2011 1 commit
  21. 31 Mar, 2011 1 commit
    • Wim Taymans's avatar
      bufferlist: simplify bufferlists · 468ec5bc
      Wim Taymans authored
      We now have multiple memory blocks as part of the buffers and we can therefore
      reduce the bufferlist to a simple array of buffers.
      468ec5bc
  22. 28 Mar, 2011 3 commits
  23. 07 Dec, 2010 1 commit
    • Wim Taymans's avatar
      pad: remove get_caps_reffed variants · b2ab72b9
      Wim Taymans authored
      Make the _get_caps functions behave like the _get_caps_reffed variants and
      remove the _reffed variants. This means that _get_caps doesn't return a writable
      caps anymore and an explicit _make_writable() is needed before modifying the
      caps.
      b2ab72b9
  24. 28 Aug, 2010 1 commit
  25. 10 Mar, 2010 1 commit
    • Benjamin Otte's avatar
      Fixes for -Wwrite-strings · a9d1a493
      Benjamin Otte authored
      This changes some APIs in compatible ways:
      - Some functions now take "const char *" arguments, not "char *"
      - Some structs now have "conts char *" members, not "char *"
      The changes may cause warnings when compiling with the right warning
      flags. You've been warned.
      
      Also adds -Wwrite-strings as a warning flag in configure.ac.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=611692
      a9d1a493
  26. 23 Dec, 2009 1 commit
    • Wim Taymans's avatar
      pad: Fix problem with destroy callback not being called · 381d35fd
      Wim Taymans authored
      When we unblock a pad with the same user_data, the destroy callback is not
      called. This leads to refcounting leaks that cannot be avoided. Instead always
      call the destroy notify whenever we install a new pad block.
      In particular, this fixes a nasty pad leak in decodebin2.
      
      Also update the unit test to have more accurate comments and test the required
      behaviour.
      381d35fd
  27. 06 Aug, 2009 1 commit
  28. 12 May, 2009 1 commit
    • Jonas Holmberg's avatar
      bufferlist: hook up the pad functions · 22a48fb0
      Jonas Holmberg authored
      Reuse buffer code for bufferlists. Not sure if this measurably impacts performance
      for the simple buffer case, if it does after doing some benchmarks, we can
      decouple it later.
      
      Fixes #572285
      22a48fb0
  29. 08 Apr, 2009 1 commit
  30. 09 Mar, 2009 1 commit
  31. 22 Feb, 2009 1 commit