1. 29 May, 2014 1 commit
    • Thiago Santos's avatar
      decodebin: aggregate buffering messages · 783195cc
      Thiago Santos authored
      Aggregate buffering messages to only post the lower value
      to avoid setting pipeline to playing while any multiqueue
      is still buffering.
      There are 3 scenarios where the entries should be removed from
      the list:
      1) When decodebin is set to READY
      2) When an element posts a 100% buffering (already implemented)
      3) When a multiqueue is removed from decodebin.
      For item 3 we don't need to handle it because this should only
      happen when either 1 is hapenning or when it is playing a
      chained file, for which number 2 should have happened for the
      previous stream to finish
  2. 10 Apr, 2014 1 commit
  3. 09 Apr, 2014 1 commit
  4. 07 Mar, 2014 1 commit
    • Sebastian Dröge's avatar
      decodebin: Buffer up to 5 seconds in multiqueue buffering mode · 5e364c1d
      Sebastian Dröge authored
      2 seconds might be too small for some container formats, e.g.
      MPEGTS with some video codec and AAC/ADTS audio with 700ms
      long buffers. The video branch of multiqueue can run full while
      the audio branch is completely empty, especially because there
      are usually more queues downstream on the audio branch.
  5. 06 Mar, 2014 2 commits
  6. 22 Feb, 2014 7 commits
  7. 28 Jan, 2014 1 commit
  8. 29 Nov, 2013 1 commit
  9. 28 Nov, 2013 1 commit
  10. 16 Nov, 2013 1 commit
  11. 06 Jun, 2013 1 commit
  12. 28 May, 2013 5 commits
  13. 24 May, 2013 2 commits
  14. 22 May, 2013 2 commits
  15. 15 May, 2013 3 commits
  16. 14 May, 2013 1 commit
  17. 06 May, 2013 1 commit
  18. 23 Apr, 2013 6 commits
    • Wim Taymans's avatar
      decodebin2: also remove the bytes limit · c5840ebb
      Wim Taymans authored
      Remove the byte limit for adaptive http streaming. Because some fragments might
      be very big, we might need a lot of buffering. I also suspect another problem
      where data is actually missing and things go out of sync somehow.
    • Wim Taymans's avatar
      decodebin2: update buffer size in multiqueue · 26c5bc1c
      Wim Taymans authored
      When we disable buffering in the more upstream multiqueue elements,
      we need to also update the queue limits. In particular, the max_size_time should
      be set to 0 or else we might simply deadlock.
    • Thiago Santos's avatar
      decodebin2: only allow 'lower' multiqueues to emit buffering messages · 5cd07bd2
      Thiago Santos authored
      When we have a scenario of demuxers linked to demuxers, decodebin2
      will create multiqueue at different levels of the pipeline. The problem
      is that only the lowest multiqueue's should do the buffering messaging,
      as they will handle with the raw streams data.
      When all multiqueues are doing buffering, the upper ones can handle
      large buffers that easily fill them, moving from 0% to 100% from
      buffer to buffer, causing too much buffering messages to be posted.
      This hangs the pipeline unnecessarily and might lead to deadlocks.
    • Thiago Santos's avatar
      decodebin2: do not handle the next-groups list as if it was a single item · 6382d4c0
      Thiago Santos authored
      Decodebin2's chains store a next_groups list that was being handled as
      it could only have a single element. This is true for most of the
      chaining streams scenarios where streams change not very often.
      In more stressfull changing scenarios, like adaptive streams, those
      changes can happen very often, and in short time intervals. This could
      confuse decodebin2 as this list was always being used as a single
      element list.
      This patches makes it handle as a real list, using iteration instead
      of picking the first element as the correct one always.
    • Thiago Santos's avatar
      decodebin2: preserve next groups order · 054ffc6e
      Thiago Santos authored
    • Thiago Santos's avatar
      decodebin2: still report chain as drained when not 'handled' · 42db7c7b
      Thiago Santos authored
      Even if the chain hasn't been 'handled' in this switching round,
      report it as drained so upper chains/groups know abou it.
      This makes switching happen on upper levels of the groups/chain
  19. 18 Apr, 2013 1 commit
  20. 15 Apr, 2013 1 commit