1. 04 Jan, 2021 2 commits
    • Matthew Waters's avatar
      videoflip: fix possible crash when setting the video-direction while running · db15ec92
      Matthew Waters authored
      A classic case of not enough locking.
      One interesting thing with this is the interaction between the
      rotation value and caps negotiation.  i.e. the width/height of the caps
      can be swapped depending on the video-direction property.  We can't lock
      the entirety of the caps negotiation for obvious reasons so we need to
      do something else.  This takes the approach of trying to use a single
      rotation value throughout the entirety of the negotiation and then
      subsequent output frame in a kind of latching sequence.
      Fixes: #792
      Part-of: <!836>
    • Matthew Waters's avatar
      tests: add tests for videoflip · 35018d67
      Matthew Waters authored
      Part-of: <!836>
  2. 30 Dec, 2020 1 commit
  3. 21 Dec, 2020 1 commit
  4. 16 Dec, 2020 1 commit
  5. 14 Dec, 2020 1 commit
    • Qi Hou's avatar
      v4l2object: Use active resolution during fallback colorspace probe · ff1dd307
      Qi Hou authored
      For legacy drivers that don't implement ENUM_FRAMESIZE, use active
      resolution to probe colorspace. This can improve the accuracy of the
      result when the colorspace depends on the resolution. This fixes a
      wrong colorspace issue on board with vendor bsp at resolution 2560x1440.
      Part-of: <!830>
  6. 12 Dec, 2020 3 commits
  7. 11 Dec, 2020 2 commits
    • Jan Schmidt's avatar
      splitmuxsink: Unit test - check format/opened/closed sequence · 2d24a45c
      Jan Schmidt authored
      Check the sequence of format-location/fragment-opened/fragment-closed
      events is respected. There should be 1 format-location call for each
      fragment-opened message, and 1 fragment-closed for each.
      Part-of: <!833>
    • Jan Schmidt's avatar
      splitmuxsink: Fix for 'reference bytes muxed' check. · d7a9a844
      Jan Schmidt authored
      introduced a check in the need-new-fragment logic to avoid starting a
      new fragment unless there has been some data on the reference stream,
      but the check is done against the number of bytes that have been
      received on the input, not the number that were released for output
      into the current fragment.
      Fix the check to remember and test against bytes that have been sent
      for output.
      This also fixes a problem where starting a new fragment fails to
      request a new filename from the format-location signal.
      Part-of: <!833>
  8. 08 Dec, 2020 2 commits
  9. 04 Dec, 2020 1 commit
  10. 01 Dec, 2020 1 commit
  11. 26 Nov, 2020 1 commit
  12. 24 Nov, 2020 1 commit
    • Nirbheek Chauhan's avatar
      deinterlace: Enable x86 assembly with nasm on MSVC · 552da856
      Nirbheek Chauhan authored
      We need to remove x86inc.asm from the list of compiled assembly files
      because it is not supposed to be compiled separately. It is directly
      included by yadif.asm, and it exports no symbols.
      The object file was getting ignored on all platforms except on msvc
      where it was causing a linker hang when building with debugging
      enabled because the object file had no debug symbols (or similar).
      We've seen this before in FFmpeg too, which uses nasm:
      Part-of: <!825>
  13. 20 Nov, 2020 1 commit
  14. 19 Nov, 2020 1 commit
  15. 16 Nov, 2020 1 commit
    • Bing Song's avatar
      v4l2: caps negotiate wrong as interlace feature · 8a0a7d93
      Bing Song authored
      gst_caps_simplify() will move interlace format before normal video
      format. It will cause caps negotiate prefer interlaced caps which
      isn't expected. Seperate normal caps and interlaced caps and then
      merge it will keep prefer progress video format.
      Add ARGB/BGRA for interlaced caps.
      Fixes #802
      Part-of <!813>
      Part-of: <!813>
  16. 13 Nov, 2020 3 commits
    • Håvard Graff's avatar
      rtpsession: never send on a non-internal source · 79748dab
      Håvard Graff authored
      This will end up as a "received" packet, due to the code in
      source_push_rtp, which will think this is a packet being received.
      Instead drop the packet and hope that either:
      1. Something upstream responds to the GstRTPCollision event and changes
         SSRC used for sending.
      2. That the application responds to the "on-ssrc-collision" signal, and
         forces the sender (payloader) to change its SSRC.
      3. That the BYE sent to the existing user of this SSRC will respond to
         the BYE, and that we timeout this source, so we can continue sending
         using the chosen SSRC.
      The test reproduces a scenario where we previously would have sent
      on a non-internal source.
      Part-of: <!817>
    • Håvard Graff's avatar
      rtpsource: rewrite timeout-check to avoid underflow · 97ced292
      Håvard Graff authored
      If current_time is < collision_timeout, we get an uint64 underflow, and
      the check will trigger prematurely.
      Part-of: <!817>
    • Vivia Nikolaidou's avatar
      aacparse: Fix caps change handling · 5a2f9d51
      Vivia Nikolaidou authored
      In baseparse we set the fixed caps flag on all src pads, therefore the
      source pad caps query in get_allowed_caps will return the current caps.
      Current caps won't necessarily intersect with the new caps (e.g. sample
      rate change). Replace get_allowed_caps with peer_query_caps.
      Part-of: <!816>
  17. 12 Nov, 2020 2 commits
  18. 11 Nov, 2020 2 commits
  19. 10 Nov, 2020 2 commits
  20. 04 Nov, 2020 1 commit
  21. 03 Nov, 2020 4 commits
  22. 02 Nov, 2020 3 commits
  23. 01 Nov, 2020 1 commit
  24. 31 Oct, 2020 2 commits
    • Jan Schmidt's avatar
      splitmuxsrc: Fix comment in a test · 81ecf076
      Jan Schmidt authored
      Fix a comment in the splitmuxsrc robust muxing test so it
      describes the test properly.
      Part-of: <!798>
    • Jan Schmidt's avatar
      splitmuxsink: Change EOS catching logic. · 35cc0df5
      Jan Schmidt authored
      Add a new state for ending the overall stream, and use it to decide
      whether to pass the final EOS message up the bus instead of dropping
      it. Fixes a small race that makes the testsuite sometimes not generate
      the last fragment(s) sometimes because the wrong EOS gets
      allowed through too early.
      Part-of: <!798>