1. 14 Mar, 2012 2 commits
  2. 09 Mar, 2012 3 commits
    • Wim Taymans's avatar
      pad: also push sticky events on new event · 35241f35
      Wim Taymans authored
      Make a helper function check_sticky to check and push pending sticky events.
      Move the handling of the result of pushing the sticky event inside the
      push_event function, we need to mark the event as received when it was pushed
      correctly.
      Move the sticky events code outside of gst_pad_push_event_unchecked and
      make it purely handle sending the event to the peer.
      when pushing a sticky event, first store it on the pad. Then check and push any
      pending sticky events when we get a serialized or sticky event on a srcpad. This
      fixes the issue where sticky events are not pushed when an event is pushed.
      35241f35
    • Wim Taymans's avatar
      pad: store the received result from _foreach · 0054e6da
      Wim Taymans authored
      If the foreach function changes the received state of the sticky event, make
      sure we remember that.
      0054e6da
    • Wim Taymans's avatar
      pad: add comment · a8058183
      Wim Taymans authored
      a8058183
  3. 08 Mar, 2012 3 commits
  4. 02 Mar, 2012 1 commit
  5. 01 Mar, 2012 2 commits
  6. 21 Feb, 2012 1 commit
    • Wim Taymans's avatar
      pad: handle NULL callbacks · c105b467
      Wim Taymans authored
      When we have a matching NULL callback, also consider the 'callback' marshalled,
      this way blocking probes with a NULL callback actually work.
      c105b467
  7. 17 Feb, 2012 1 commit
    • Wim Taymans's avatar
      pad: make some errors critical · 386562f7
      Wim Taymans authored
      When we have no chain function or when we are operating the pad in the wrong
      mode, emit a critical instead of posting an error message. This is certainly a
      programming error and we cannot always post a message (like when the pad has no
      parent)
      386562f7
  8. 10 Feb, 2012 2 commits
  9. 08 Feb, 2012 2 commits
  10. 06 Feb, 2012 1 commit
  11. 02 Feb, 2012 1 commit
  12. 26 Jan, 2012 3 commits
  13. 25 Jan, 2012 1 commit
  14. 19 Jan, 2012 1 commit
  15. 18 Jan, 2012 1 commit
    • Sebastian Dröge's avatar
      pad: Don't forward the allocation query by default · 0d2adf5a
      Sebastian Dröge authored
      This has to be handled explicitely by elements to
      make sure that they support all the metas passed
      in the allocation query.
      Metas have to supported explicitely, otherwise the
      query will fail. All elements in a chain need to
      support a specific meta to allow its usage.
      0d2adf5a
  16. 10 Dec, 2011 1 commit
  17. 06 Dec, 2011 3 commits
  18. 05 Dec, 2011 1 commit
  19. 04 Dec, 2011 1 commit
  20. 28 Nov, 2011 1 commit
    • Wim Taymans's avatar
      pad: Handle sticky event errors · da74724f
      Wim Taymans authored
      Use GstFlowReturn to internally pass events between pads.
      When we sticky events cause an error, translate this error into a GstFlowReturn.
      Caps events will, for example, generate a NOT_NEGOTIATED return when the event
      function returns an error.
      This allows us then to refuse sending buffers if one of the sticky events is
      refused and generate a correct error return value.
      da74724f
  21. 25 Nov, 2011 1 commit
    • Wim Taymans's avatar
      pad: fix blocking probe emission · 933e8b23
      Wim Taymans authored
      If we are dealing with a blocking probe, only then check if one the
      blocking flags of the hook matches.
      Add some more debug.
      Make the pad unit test less racy.
      933e8b23
  22. 24 Nov, 2011 1 commit
  23. 23 Nov, 2011 2 commits
    • Wim Taymans's avatar
      event: add STICKY_MULTY events · 407f45dc
      Wim Taymans authored
      Add a new event flag for sticky events so that multiple events of that type can
      be stored on a pad at the same time. Change the _get_sticky_event() function to
      loop over the multiple events of a type.
      Change the foreach function to make it possible to removed and modify the sticky
      events on a pad.
      Use an variable size array now to store the events. This could later be
      optimized some more.
      407f45dc
    • Wim Taymans's avatar
      pad: take peerpad correctly · 31b79556
      Wim Taymans authored
      Don't take the peerpad too early, it might change because of the
      probes.
      31b79556
  24. 22 Nov, 2011 1 commit
    • Wim Taymans's avatar
      pad: rework sticky events · dd65aae9
      Wim Taymans authored
      Rewrite sticky events, trying to make it a bit more simple.
      When sticky events are pushed on a srcpad, store them in the sticky event
      array and mark the event with received = FALSE.
      When the sticky event is successfully sent to the peer pad, make
      received = TRUE.
      Keep a PENDING_EVENTS pad flag that is set when one of the events is in
      the received = FALSE state for some reason.
      when activating a sinkpad, mark all events received = FALSE on the peer
      srcpad.
      When pushing a buffer, check the PENDING_EVENTS flag and if it is set, push all
      events to the peer pad first.
      dd65aae9
  25. 21 Nov, 2011 3 commits
    • Wim Taymans's avatar
      pad: fix locking order error · d8900170
      Wim Taymans authored
      d8900170
    • Wim Taymans's avatar
      pad: Add destroy notify to pad functions · 6e0a7243
      Wim Taymans authored
      Add _full variants of the pad function setters that take a destroy notify.
      Make some macros that make the old method name pass NULL to this new
      function.
      6e0a7243
    • Wim Taymans's avatar
      pad: Merge pad mode activation functions · 2f1ed653
      Wim Taymans authored
      Add the pad mode to the activate function so that we can reuse the same function
      for all activation modes. This makes the core logic smaller and allows for some
      elements to make their activation code easier. It would allow us to add more
      scheduling modes later without having to add more activate functions.
      2f1ed653