1. 19 Feb, 2018 5 commits
  2. 18 Feb, 2018 1 commit
  3. 17 Feb, 2018 1 commit
  4. 16 Feb, 2018 1 commit
  5. 15 Feb, 2018 12 commits
  6. 14 Feb, 2018 8 commits
  7. 13 Feb, 2018 8 commits
  8. 10 Feb, 2018 4 commits
    • Edward Hervey's avatar
      playbin3: Re-enable buffering message handling · eacb7a77
      Edward Hervey authored
      Buffering messages are only sent for the active group (in case there
      is more than one).
      If the inactive group posts buffering messages we keep the last one
      around and will post it once it becomes the playing one.
    • François Laignel's avatar
      decodebin3: high cpu usage after eos · ec7d81f6
      François Laignel authored
      After eos, decodebin3 enters a loop sending eos events which causes high cpu usage.
    • Edward Hervey's avatar
      decodebin3: Handle dual-output of STREAM_START/EOS · 1f792ab8
      Edward Hervey authored
      In order to flush out multiqueue, we send again a STREAM_START and
      then a EOS event.
      The problem was that was that we might end up pushing out on the
      output of multiqueue (and therefore decodebin3) a series of:
      Apart from the uglyness of such output, If decodebin3 is used with
      elements such as concat on their output, they might potentially
      block on that second STREAM_START.
      In order to make sure we don't end up in that situation we send
      a custom STREAM_START event when refreshing multiqueue (which we
      drop on the output) and we don't special case EOS events on streams
      on which we already got EOS.
      At worst we now end up sending at most two EOS on the output of
      multiqueue (and decodebin3).
    • Edward Hervey's avatar
      playbin3: Implement gapless playback · c1e902a0
      Edward Hervey authored
      Similar in vein to the playbin2 architecture except that uridecodebin3
      are prerolled much earlier and all streams of the same type are
      fed through a 'concat' element.
      This keeps the philosphy of having all elements connected as soon
      as possible.
      The 'about-to-finish' signal is emitted whenever one of the uridecodebin
      is about to finish, allowing the users to set the next uri/suburi.
      The notion of a group being active has changed. It now means that the
      uridecodebin3 has been activated, but doesn't mean it is the one
      currently being outputted by the sinks (i.e. curr_group and next_group).
      This is done via detecting GST_MESSAGE_STREAM_START emission by playsink
      and figuring out which group is really playing.
      When the current group changes, a new thread is started to deactivate
      the previous one and optionnaly fire 'about-to-finish'.