1. 18 Dec, 2018 15 commits
    • Nicolas Dufresne's avatar
      rtph265depay: Factor out the code that push · 65b01d5f
      Nicolas Dufresne authored
      This will be needed to implement draining on EOS.
      65b01d5f
    • Nicolas Dufresne's avatar
      rtph264depay: Drain on EOS event · e694e275
      Nicolas Dufresne authored
      e694e275
    • Nicolas Dufresne's avatar
      rtph264depay: Factor out the code that push · d12128f5
      Nicolas Dufresne authored
      This will be needed to implement draining on EOS.
      d12128f5
    • Nicolas Dufresne's avatar
      rtph26xpay: Remove unused IS_ACCESS_UNIT macro · 5e8cab71
      Nicolas Dufresne authored
      This macro is not longer used. It was secretly checking if that nal was
      a slice, and confusingly name to that one may think it was checking if
      the nal is an AUD.
      5e8cab71
    • Nicolas Dufresne's avatar
      rtph265pay: Fix reading timestamps from adapter · 0a6e5e43
      Nicolas Dufresne authored
      The code was reading the timestamp from the adapter before pushing the
      new buffer into it. As a side effect, if the adapter was empty, we'd end
      up using an older timestamp. In alignment=au, it means that all
      timestamp was likely one frame in the past, while in alignment=nal, with
      multiple slices per frame, the first slice would have the timestamp of
      the previous one.
      0a6e5e43
    • Nicolas Dufresne's avatar
      rtph265pay: Forward the marker bit as buffer flag · ff2e5b94
      Nicolas Dufresne authored
      We have a buffer flag to represent the marker bit (when present).
      Forward this bit by setting the buffer flag accordingly.
      ff2e5b94
    • Nicolas Dufresne's avatar
      rtph265pay: Properly set the marker bit · e721071d
      Nicolas Dufresne authored
      The marker bit is used for efficient decoding. The assumption that
      it should be set on the AUD is wrong, since the AUD is conceptually
      starts the frame, while the marker is to indicate the end.
      
      So properly set the marker bit as soon as we know we are ending an
      AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER
      flag.
      e721071d
    • Nicolas Dufresne's avatar
      rtph264pay: Fix reading timestamps from adapter · 1f721317
      Nicolas Dufresne authored
      The code was reading the timestamp from the adapter before pushing the
      new buffer into it. As a side effect, if the adapter was empty, we'd end
      up using an older timestamp. In alignment=au, it means that all
      timestamp was likely one frame in the past, while in alignment=nal, with
      multiple slices per frame, the first slice would have the timestamp of
      the previous one.
      1f721317
    • Nicolas Dufresne's avatar
      rtph264pay: Properly set the marker bit · 4add820c
      Nicolas Dufresne authored
      The marker bit is used for efficient decoding. The assumption that
      it should be set on the AUD is wrong, since the AUD is conceptually
      starts the frame, while the marker is to indicate the end.
      
      So properly set the marker bit as soon as we know we are ending an
      AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER
      flag.
      4add820c
    • Nicolas Dufresne's avatar
      rtph264depay: Forward the marker bit as buffer flag · e4f38c98
      Nicolas Dufresne authored
      We have a buffer flag to represent the marker bit (when present).
      Forward this bit by setting the buffer flag accordingly.
      e4f38c98
    • Nicolas Dufresne's avatar
      rtph264pay: Protect against use of reserved NAL types · 13278fbc
      Nicolas Dufresne authored
      Don't allow external encoder to use one of the reserved NAL type
      implicated in NAL aggreation. These out-of-spec NAL types, if passed
      from the outside world will lead to an invalid RTP payload being
      created.
      13278fbc
    • Seungha Yang's avatar
      tests: Enable unit test on Windows · 7aebe608
      Seungha Yang authored
      Allow run some unit tests on Windows.
      * Remove hardcoded path separator in whitelist env for Meson to choose
        OS-specific separator automatically (i.e., ';' for windows and ':' for *nix)
      * Add dependency explicitly for some test cases, otherwise plugins couldn't be
        loaded on uninstalled environment of Windows.
      7aebe608
    • Seungha Yang's avatar
      meson: Prefer to use join_paths() over '/' · 16af121a
      Seungha Yang authored
      ... to avoid mixing '/' and '\' in a path string on Windows.
      16af121a
    • Jonny Lamb's avatar
      rtpulpfec: stop and start the harness when setting error-after · 9a3e8ad2
      Jonny Lamb authored
      gstreamer!55 makes some changes to how the `error-after` counter works
      which breaks this test. This change makes the test not rely on the
      ability to alter `error-after` at runtime and explicitly stops and
      starts the harness before pushing data.
      
      An alternative would be to add another argument to
      `harness_rtpulpfecdec` to set `error-after` on construction but that's
      slightly more long-winded. so I went for this approach instead.
      
      Fixes #532, even though that's already closed.
      9a3e8ad2
    • Mathieu Duponchelle's avatar
      tests: remove rtpaux test · 306d5021
      Mathieu Duponchelle authored
      The initial mission statement for this test was:
      
      * demonstrate usage of the request-aux-* signals in rtpbin
      * test the rtx elements
      
      We have examples that serve the first use case, and better
      (harnessed) tests for the second use case.
      
      This test is slow and racy, it served its purpose but can now
      be removed.
      
      Fixes #533
      306d5021
  2. 17 Dec, 2018 5 commits
  3. 15 Dec, 2018 1 commit
  4. 14 Dec, 2018 10 commits
  5. 07 Dec, 2018 1 commit
  6. 06 Dec, 2018 2 commits
  7. 05 Dec, 2018 1 commit
  8. 04 Dec, 2018 1 commit
  9. 30 Nov, 2018 4 commits
    • Tim-Philipp Müller's avatar
    • Alicia Boya García's avatar
      qtdemux: set need_segment after a second moov · 38b553dd
      Alicia Boya García authored
      stream.segment should be updated with the values of the current edit
      list, also when a new `moov` is received. Unfortunately this was not
      being the case because of an early return.
      
      As a consequence of this bugs, no end of movie clipping was being
      performed on the new moov and no segment event was being emitted.
      
      When performing stream switching (e.g. in MSE) the new moov may have a
      different edit list. This is often the case when switching between
      baseline H.264 (which lacks B-frames) and more demanding profiles. For
      this reason it's important to emit a new segment in order to be able
      to get matching stream times.
      38b553dd
    • Alicia Boya García's avatar
      qtdemux: Initialize QtDemuxStream.segment in its constructor · 26cc201c
      Alicia Boya García authored
      This patch moves the initialization of QtDemuxStream.segment from
      gst_qtdemux_add_stream() to _create_stream(). This ensures the segment
      is always initialized when the stream is created.
      
      Otherwise the segment format is left as GST_FORMAT_UNDEFINED in the case
      were a track is reparsed and qtdemux_reuse_and_configure_stream() is
      called instead of gst_qtdemux_add_stream(). (See
      qtdemux_expose_streams() in the non streams-aware case.)
      26cc201c
    • Miguel París Díaz's avatar
      rtpsession: properly handle rtcp_feedback_retention_window · 48a4fd4e
      Miguel París Díaz authored
      - Consider GST_CLOCK_TIME_NONE as not to be used.
      - Complete "rtcp-feedback-retention-window" property getter/setter
        implementation.
      48a4fd4e