1. 08 Jul, 2019 1 commit
    • Seungha Yang's avatar
      nvdec,nvenc: Port to dynamic library loading · c18fda03
      Seungha Yang authored
      ... and put them into new nvcodec plugin.
      
      * nvcodec plugin
      Now each nvenc and nvdec element is moved to be a part of nvcodec plugin
      for better interoperability.
      Additionally, cuda runtime API header dependencies
      (i.e., cuda_runtime_api.h and cuda_gl_interop.h) are removed.
      Note that cuda runtime APIs have prefix "cuda". Since 1.16 release with
      Windows support, only "cuda.h" and "cudaGL.h" dependent symbols have
      been used except for some defined types. However, those types could be
      replaced with other types which were defined by "cuda.h".
      
      * dynamic library loading
      CUDA library will be opened with g_module_open() instead of build-time linking.
      On Windows, nvcuda.dll is installed to system path by CUDA Toolkit
      installer, and on *nix, user should ensure that libcuda.so.1 can be
      loadable (i.e., via LD_LIBRARY_PATH or default dlopen path)
      Therefore, NVIDIA_VIDEO_CODEC_SDK_PATH env build time dependency for Windows
      is removed.
      c18fda03
  2. 05 Jul, 2019 3 commits
  3. 04 Jul, 2019 1 commit
  4. 03 Jul, 2019 6 commits
    • Ederson de Souza's avatar
      tests: Add AVTP CVF depayloader tests · a6fc6558
      Ederson de Souza authored
      In these tests, some specially crafted buffers are sent to the
      depayloader, simulating some scenarios and checking what comes out from
      it.
      a6fc6558
    • Ederson de Souza's avatar
      tests: Add AVTP CVF payloader tests · b34acc0c
      Ederson de Souza authored
      In these tests, some specially crafted buffers are sent to the
      payloader, simulating some scenarios and checking what comes out from
      it.
      b34acc0c
    • Andre Guedes's avatar
      tests: Add AVTP source tests · c427fd1a
      Andre Guedes authored
      This patch adds test cases for the AVTP source element. For now, only
      properties get() and set() are covered.
      c427fd1a
    • Andre Guedes's avatar
      tests: Add AVTP sink tests · e0deddbc
      Andre Guedes authored
      This patch adds test cases for the AVTP sink element. For now, only
      properties get() and set() are covered.
      e0deddbc
    • Andre Guedes's avatar
      tests: Add AAF depayloader tests · 82b6b0fa
      Andre Guedes authored
      This patch adds test cases for the AAF depayloader element covering the
      basic functionalities.
      82b6b0fa
    • Andre Guedes's avatar
      tests: Add AAF payloader tests · e09470fa
      Andre Guedes authored
      This patch adds the infrastructure to test AVTP plugin elements. It also
      adds a test case to check avtpaafpay element basic functionality. The
      test consists in setting the element sink caps and properties, and
      verifying if the output buffer is set as expected.
      e09470fa
  5. 24 Jun, 2019 1 commit
  6. 19 Jun, 2019 2 commits
  7. 18 Jun, 2019 3 commits
  8. 06 Jun, 2019 1 commit
    • Tim-Philipp Müller's avatar
      Remove VDPAU plugin · 4ff14c0e
      Tim-Philipp Müller authored
      It's been replaced by NVENC/NVDEC and even NVIDIA doesn't
      support VDPAU any longer and hasn't for quite some time.
      
      The plugin has been unmaintained and unsupported for a very
      long time, and given the track record over the last 10 years
      it seems highly unlikely anyone is going to make it work well,
      not to mention adding plumbing for proper zero-copy or
      gst-gl integration.
      
      Closes #828
      4ff14c0e
  9. 04 Jun, 2019 2 commits
  10. 03 Jun, 2019 1 commit
    • Marc Leeman's avatar
      rtpmanagerbad: add RTP streaming elements · 3ef73760
      Marc Leeman authored
      This is a re-implementation of the RTP elements that are submitted in
      2013 to handle RTP streams. The elements handle a correct connection
      for the bi-directional use of the RTCP sockets.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=703111
      
      The rtpsink and rtpsrc elements add an URI interface so that streams
      can be decoded with decodebin using the rtp:// interface.
      
      The code can be used as follows
      
      ```
      gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234
      
      gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
      gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! xvimagesink
      
      gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
      gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay ! avdec_mpeg4 ! videoconvert ! xvimagesink
      ```
      
      rtpmanagerbad: add pkg-config
      rtpmanagerbad: Rtp should be uppercase
      rtpmanagerbad: add G_OS_WIN32 for shielding unix headers
      rtpmanagerbad: remove Since from documentation
      rtpmanagerbad: rename lib name from nrtp to rtpmanagerbad
      rtpmanagerbad: sync meson.build with other modules
      rtpmanagerbad: add Makefile.am
      rtpmanagerbad: use GstElement to count pads
      rtpmanagerbad: use gst_bin_set_suppressed_flags
      rtpmanagerbad: check element creation
      rtpmanagerbad: post message when trying to access missing rtpbin
      rtpmanagerbad: return FALSE with g_return tests
      rtpmanagerbad: use gsocket multicast check
      rtpmanagerbad: use gst_caps_new_empty_simple iso gst_caps_from_string
      rtpmanagerbad: sync with gstrtppayloads.h
      rtpmanagerbad: correct media type X-GST
      rtpmanagerbad: test if a compatible pad was found
      rtpmanagerbad: remove evil copy of GstRTPPayloadInfo
      rtpmanagerbad: add gio_dep to meson
      rtpmanagerbad: revert to old glib boilerplate
      
      GStreamer 1.16 does not yet support the newer GLib templates, so revert.
      
      rtpmanagerbad: return GST_STATE_CHANGE_NO_PREROLL for live sources
      
      for live sources, NO_PREROLL should be returned for PLAYING->PAUSED and
      READY->PAUSED transitions.
      
      rtpmanagerbad: use GstElement pad counting
      rtpmanagerbad: just use template name to request pad
      rtpmanagerbad: remove commented code
      rtpmanagerbad: use funnel to send multiple streams on one socket
      rtpmanagerbad: avoid beaches
      
      beaches should only be used during the summer, so rewrite the code to
      return explicitly and avoid beaches during the winter.
      
      rtpmanagerbad: add copyright to test code
      rtpmanagerbad: g_free is NULL safe
      rtpmanagerbad: do not trace rtpbin
      rtpmanagerbad: return NULL explitly
      rtpmanagerbad: warn when data port is not even
      
      According to RFC 3550, RTP data should be sent on even ports, while RTCP
      is sent on the following odd port.
      
      rtpmanagerbad: document port allocation in rtpsink/src
      rtpmanagerbad: improve uri description
      rtpmanagerbad: add comment re-use socket
      rtpmanagerbad: rename gst_object_set_properties_from_uri_query
      rtpmanagerbad: loan prop/val setter from rist
      rtpmanagerbad: rtpsrc: fix unitialised pointer
      rtpmanagerbad: fix silly typo
      rtpmanagerbad: test for empty key/value
      rtpmanagerbad: rtpsrc: deprecate ssrc collision to INFO
      rtpmanagerbad: sync debug with rist
      rtpmanagerbad: small strings allocated on stack
      rtpmanagerbad: correct rename
      rtpmanagerbad: add locking on prop setters/getters
      
      Locking is added because the URI allows to access the properties too.
      
      rtpmanagerbad: allow for RTCP through NAT
      rtpmanagerbad: move gio to header file
      rtpmanagerbad: free small strings too
      rtpmanagerbad: ttl_mc for ttl on dynudpsink
      rtpmanagerbad: add comments on the URI registered
      rtpmanagerbad: correct macro after file rename
      rtpmanagerbad: code style
      rtpmanagerbad: handle wrong URIs in setter
      rtpmanagerbad: nit URI notation correction
      
      In an URI, the first key/value pair should not have an ampersand, the
      parser did not die though.
      3ef73760
  11. 01 Jun, 2019 2 commits
    • Alex Ashley's avatar
      tests/dash_mpd: take account of Period start in expected timestamps · 015566da
      Alex Ashley authored
      The start of each segment is relative to the Period start, minus
      the presentation time offset.
      
      As specified in section 5.3.9.6 of the MPEG DASH specification:
      	The value of the @t attribute minus the value of the
      	@presentationTimeOffset specifies the MPD start time of
      	the first Segment in the series.
      
      Several tests use a Period@start value of 10 seconds, which either
      needs to be taken into account when calculating expected timestamps
      or have that attribute removed.
      
      This commit uses a mix of updating the timestamps and removing the
      start attribute, so that both the case of its presence and absence
      is tested.
      015566da
    • Alex Ashley's avatar
      dashdemux: include both Period start and presentationTimeOffset in segment start · a11f7ed9
      Alex Ashley authored
      The start of each segment is relative to the Period start, minus
      the presentation time offset.
      
      As specified in section 5.3.9.6 of the MPEG DASH specification:
          The value of the @t attribute minus the value of the
          @presentationTimeOffset specifies the MPD start time of
          the first Segment in the series.
      
      dashdemux was not taking account of presentationTimeOffset and in
      some methods was not taking into account the Period start time.
      This commit modifies the segment->start value to always be
      relative to the MPD start time (zero for VOD,
      availabilityStartTime for live streams). This makes all uses of
      the segment list consistent.
      
      Fixes #841
      a11f7ed9
  12. 30 May, 2019 13 commits
  13. 19 May, 2019 1 commit
  14. 13 Apr, 2019 1 commit
  15. 08 Apr, 2019 1 commit
  16. 10 Mar, 2019 1 commit