1. 05 Jun, 2021 3 commits
  2. 29 Mar, 2021 1 commit
  3. 12 Mar, 2021 1 commit
  4. 26 Jan, 2021 1 commit
  5. 22 Jan, 2021 3 commits
  6. 18 Jan, 2021 1 commit
  7. 21 Dec, 2020 3 commits
  8. 30 Nov, 2020 3 commits
    • Thomas Guillem's avatar
      decoder: fix slow video flush · 9602cf7e
      Thomas Guillem authored
      Video flush was taking between 1 seconds to 10 seconds because the flush
      request was not processed by the DecoderThread that was stuck in
      pf_decode() callbacks waiting for new pictures.
      9602cf7e
    • Thomas Guillem's avatar
      decoder: fix out_pool race condtion · 29348f4a
      Thomas Guillem authored
      The ModuleThread is creating it, so it doesn't need a lock for reading,
      but it does need a lock for writing it. Indeed, other threads (the
      DecoderThread and the input one) are already reading this variable with
      the lock held.
      29348f4a
    • Thomas Guillem's avatar
      decoder: remove dead code · 87d739ee
      Thomas Guillem authored
      Indeed, the pool is always released just before now.
      87d739ee
  9. 11 Oct, 2020 2 commits
  10. 18 Sep, 2020 1 commit
  11. 17 Sep, 2020 1 commit
  12. 14 Aug, 2020 1 commit
    • Steve Lhomme's avatar
      decoder: fix pause+close deadlock for decoders waiting internally for buffers · 30fccb6e
      Steve Lhomme authored
      When paused the decoder decodes until it exhausts its available buffers then
      waits until new buffers are available. When seeking we force flushing the vout
      which releases the buffers the decoder is waiting for.
      
      When closing while pause we didn't flush the vout so the decoder was still
      waiting for buffers even though it's not going to use them (or display them).
      So we do the same flushing to automatically release the used/pending buffers.
      30fccb6e
  13. 13 Aug, 2020 1 commit
    • Steve Lhomme's avatar
      vout: count the number of late frames · b0f4b953
      Steve Lhomme authored
      We already count the number of displayed frames, the number of dropped frames
      (called lost). We should also count the frames that are actually displayed but
      not in the desired time. It usually indicates the decoder is too slow or the
      rendering to the display is too slow even though it may not be directly
      visible (movements not smooth).
      b0f4b953
  14. 29 Jul, 2020 1 commit
  15. 17 Jul, 2020 1 commit
  16. 06 Jul, 2020 4 commits
    • Thomas Guillem's avatar
      input: move vout start/stop handling in resource · 8d423ad7
      Thomas Guillem authored
      The start state is now know by the input resource and protected with its lock.
      Move vout_StopDisplay() and vout_ChangeSource() to input/resource.c since the
      execution of these functions depend on the start state.
      8d423ad7
    • Thomas Guillem's avatar
      input: decoder: rework CreateVoutIfNeeded() · f5e027cb
      Thomas Guillem authored
      Remove out variables since they are stored in p_owner. Externalise dec_device
      handling.
      f5e027cb
    • Thomas Guillem's avatar
      input: rework decoder_device handling · 6134804b
      Thomas Guillem authored
      Merge input_resource_GetVoutDecoderDevice() and input_resource_StartVout() into
      input_resource_RequestVout().
      
      RequestVout() can be used to create a vout without starting it (if cfg->fmt is
      NULL). It allows the decoder to create a decoder_device from the vout manually,
      then call RequestVout() again with a valid cfg->fmt to start it.
      6134804b
    • Thomas Guillem's avatar
      input: decoder: always reset vout cancel state · 4897937f
      Thomas Guillem authored
      It can be reset to false safely, even when the vout_thread is not started.
      
      Fixes the cancel state not reset when the vout is created but not started.
      4897937f
  17. 29 Jun, 2020 1 commit
    • Thomas Guillem's avatar
      decoder: always release the vout · 3df9e5cf
      Thomas Guillem authored
      The vout was released only when already started. This fixes the
      "assert( p_resource->i_vout == 0 || p_resource->p_vout_free == p_resource->pp_vout[0] );"
      from input_resource_SetInput() when the vout failed to start.
      3df9e5cf
  18. 19 Mar, 2020 4 commits
  19. 10 Mar, 2020 2 commits
    • Thomas Guillem's avatar
      decoder: fix out_pool NULL deref · fa3e6c11
      Thomas Guillem authored
      Once the format is configured, a decoder module can request new picture_t via
      decoder_NewPicture() asynchronously. Therefore, the out_pool need to outlive
      the decoder module.
      
      This patch fixes a NULL deref from decoder_NewPicture() when the decoder is
      being destroyed. Indeed, the module need to be unloaded before the out_pool is
      destroyed.
      fa3e6c11
    • Thomas Guillem's avatar
      decoder: assert that out_pool is valid from buffer_new · b5fe394e
      Thomas Guillem authored
      Once the format is configured, the out_pool need to stay valid during the life
      time of the module or until a new format is requested.
      b5fe394e
  20. 21 Feb, 2020 2 commits
  21. 10 Feb, 2020 2 commits
  22. 04 Feb, 2020 1 commit