1. 12 Sep, 2015 2 commits
    • wm4's avatar
      mmaldec: fix problems with flush logic · 6b652c02
      wm4 authored
      Don't try to do a blocking wait for MMAL output if we haven't even sent
      a single real packet, but only flush packets. Obviously we can't expect
      to get anything back.
      
      Additionally, don't send a flush packet to MMAL in the same case. It
      appears the MMAL decoder will sometimes hang in mmal_vc_port_disable()
      (called from ffmmal_close_decoder()), waiting for a reply from the GPU
      which never arrives. Either MMAL disallows sending flush packets without
      preceding real data, or it's a MMAL bug.
      Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
      6b652c02
    • wm4's avatar
      mmaldec: hack against buffering problems on broken input · b84675d6
      wm4 authored
      I can't come up with a nice way to handle this. It's hard to keep the
      lock-stepped input/output in this case. You can't predict whether the
      MMAL decoder will output a picture (because it's asynchronous), so
      you have to assume in general that any packet could produce 0 or 1
      frames. You can't continue to write input packets to the decoder,
      because then you might get too many output frames, which you can't
      get rid of because the lavc decoding API does not allow the decoder
      to return an output frame without consuming an input frame (except
      when flushing).
      
      The ideal fix is a M:N decoding API (preferably asynchronous), which
      would make this code potentially much cleaner. For now, this hack
      will do.
      Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
      b84675d6
  2. 11 Sep, 2015 3 commits
  3. 10 Sep, 2015 4 commits
  4. 09 Sep, 2015 1 commit
  5. 07 Sep, 2015 3 commits
  6. 06 Sep, 2015 4 commits
  7. 04 Sep, 2015 1 commit
  8. 03 Sep, 2015 9 commits
  9. 02 Sep, 2015 2 commits
  10. 31 Aug, 2015 7 commits
  11. 30 Aug, 2015 1 commit
  12. 28 Aug, 2015 3 commits