Skip to content
Snippets Groups Projects
  1. Dec 03, 2019
  2. Dec 02, 2019
  3. Nov 29, 2019
  4. Nov 20, 2019
    • Amr Mahdi's avatar
      wavparse: Fix push mode ignoring audio with a size smaller than segment buffer · fe014ec6
      Amr Mahdi authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      In push mode (streaming), if the audio size is smaller than segment buffer size, it would be ignored.
      This happens because when the plugin receives an EOS signal while a single audio chunk that is less than the segment buffer size is buffered, it does not
      flush this chunk. The fix is to flush the data chunk when it receives an EOS signal and has a single (first) chunk buffered.
      
      How to reproduce:
      1. Run gst-launch with tcp source
      ```
      gst-launch-1.0  tcpserversrc port=3000 !  wavparse ignore-length=0 ! audioconvert ! filesink location=bug.wav
      ```
      2. Send a wav file with unspecified data chunk length (0). Attached a test file
      ```
      cat test.wav | nc localhost 3000
      ```
      3. Compare the length of the source file and output file
      ```
      ls -l test.wav bug.wav
      -rw-rw-r-- 1 amr amr    0 Aug 15 11:07 bug.wav
      -rwxrwxr-x 1 amr amr 3564 Aug 15 11:06 test.wav
      ```
      
      The expected length of the result of the gst-lauch pipeline should be the same as the test file minus the headers (44), which is ```3564 - 44 = 3520``` but the actual output length is ```0```
      
      After the fix:
      ```
      ls -l test.wav fix.wav
      -rw-rw-r-- 1 amr amr 3520 Aug 15 11:09 fix.wav
      -rwxrwxr-x 1 amr amr 3564 Aug 15 11:06 test.wav
      ```
      fe014ec6
    • Amr Mahdi's avatar
      wavparse: Fix ignoring of last chunk in push mode · 9f50cd49
      Amr Mahdi authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      In push mode (streaming), if the last audio payload chunk is less than the segment rate buffer size, it would be ignored since the plugin waits until it has at least segment rate bufer size of audio.
      
      The fix is to introduce a flushing flag that indicates that no more audio will be available so that the plugin can recognize this condition and flush the data is has even if it is less
      than the desired segment rate buffer size.
      9f50cd49
    • Nicolas Dufresne's avatar
      v4l2bufferpool: Queue number of allocated buffers to capture · fba94862
      Nicolas Dufresne authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      Before we do streamon, we queue all capture buffers by calling
      resurrect. When the driver supports CREATE_BUFS, this would lead
      to buffers being allocated till the maximum of 32 is reached.
      
      Instead, we now save the number of allocated buffers and queue this
      amount.
      fba94862
  5. Nov 19, 2019
  6. Nov 18, 2019
  7. Nov 14, 2019
  8. Nov 11, 2019
  9. Nov 10, 2019
    • Michael Olbrich's avatar
      jpegdec: don't overwrite the last valid line · 54c1aa8d
      Michael Olbrich authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      If the the height is not a multiple of the macro block size then the memory
      of the last line is reused for all extra lines. This is no problem if the
      last line is duplicated properly. However, if the extra lines are not
      initialized properly during encoding, then the last visible line is
      overwritten with undefined data.
      Use a extra buffer to avoid this problem.
      54c1aa8d
  10. Oct 29, 2019
    • James Cowgill's avatar
      v4l2videodec: ensure pool exists before orphaning it · 061ea441
      James Cowgill authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      In commit e2ff8773 ("v4l2videodec: support orphaning") support for
      orphaning the capture buffer pool was added when the format is
      renegotiated. However, the commit forgot to check that a pool existed
      before doing this. This is needed because it's possible for the format
      to be renegotiated before a capture pool is allocated, which would
      result in trying to orphan a NULL pool and lead to a NULL pointer
      dereference.
      
      Fix this by checking a pool exists first. If the pool doesn't exist,
      there are no buffers to be reclaimed, so skip the allocation query in
      that case.
      061ea441
  11. Oct 17, 2019
  12. Oct 13, 2019
  13. Sep 23, 2019
  14. Sep 10, 2019
  15. Aug 24, 2019
  16. Aug 21, 2019
  17. Aug 20, 2019
  18. Aug 10, 2019
  19. Aug 08, 2019
  20. Aug 07, 2019
Loading