1. 21 Aug, 2019 1 commit
  2. 31 Jul, 2019 1 commit
  3. 28 Jul, 2019 1 commit
  4. 16 Jul, 2019 1 commit
  5. 08 Jul, 2019 2 commits
    • Sebastian Dröge's avatar
      timecodestamper: Add support for linear timecode (LTC) from an audio stream · 6ea45572
      Sebastian Dröge authored
      Based on a patch by
        Georg Lippitsch <glippitsch@toolsonair.com>
        Vivia Nikolaidou <vivia@toolsonair.com>
      
      Using libltc from https://github.com/x42/libltc
      6ea45572
    • 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
  6. 03 Jul, 2019 1 commit
    • Andre Guedes's avatar
      avtp: AVTP plugin bootstrap code · eaeab383
      Andre Guedes authored
      This patch introduces the bootstrap code from the AVTP plugin (plugin
      definition and init) as well as the build system files. Upcoming patches
      will introduce payloaders, source and sink elements provided by the AVTP
      plugin. These elements can be utilized by a GStreamer pipeline to
      implement TSN audio/video applications.
      
      Regarding the plugin build system files, both autotools and meson files
      are introduced. The AVTP plugin is landed in ext/ since it has an
      external dependency on libavtp, an opensource AVTP packetization
      library. For further information about libavtp check [1].
      
      [1] https://github.com/AVnu/libavtp
      eaeab383
  7. 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
  8. 04 Jun, 2019 1 commit
  9. 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
  10. 02 Jun, 2019 1 commit
    • Niels De Graef's avatar
      meson: Bump minimal GLib version to 2.44 · da085a37
      Niels De Graef authored
      This means we can use some newer features and get rid of some
      boilerplate code using the G_DECLARE_* macros.
      
      As discussed on IRC, 2.44 is old enough by now to start depending on it.
      da085a37
  11. 14 May, 2019 1 commit
  12. 13 May, 2019 1 commit
  13. 02 May, 2019 1 commit
    • Nicolas Dufresne's avatar
      rist: Add a plugin implenting RIST TR-06-1 Simple Profile · f0d04b39
      Nicolas Dufresne authored
      RIST TR-06-1 is a specification for video streaming made by the VSF
      group. It is using a subset of RTP specification to which some
      modification has been made to improve RTX behaviour and avoid any need
      for signaling. The plugin implement ristrtxsend / ristrtxreceive element
      which are the RIST specific equivalent of rtprtxsend/rtprtxreceive and
      ristsink / ristsrc which implement rist transmitter and receiver. The
      RIST protocol is meant to be used in unidirectional way. Typically, MPEG
      TS over RTP is used.
      
      Currently we support unicast and multicast streaming according to the
      specification. This patch does not include any bonding support yet. The
      ristsrc element introduce rist:// URI handling in parallel to it's
      property configuration interface.
      f0d04b39
  14. 23 Apr, 2019 1 commit
  15. 19 Apr, 2019 1 commit
  16. 18 Apr, 2019 1 commit
  17. 10 Apr, 2019 1 commit
  18. 29 Mar, 2019 1 commit
  19. 28 Mar, 2019 1 commit
  20. 07 Mar, 2019 1 commit
  21. 04 Mar, 2019 2 commits
  22. 26 Feb, 2019 1 commit
  23. 18 Feb, 2019 1 commit
    • Bastien Nocera's avatar
      vcdsrc: Remove unusable VCD source · 2d5ed459
      Bastien Nocera authored
      The VCD source was ported in 2014 (commit 89eb1e9a), but the necessary
      "cdxaparse" plugin, which is used to "Parse a .dat file (VCD) into
      raw mpeg1" was never ported.
      
      This means that the probable main user for the feature, totem, hasn't
      actually been able to play back VCDs, since 2012, when it switched to
      using GStreamer 1.0.
      
      Note that even if cdxaparse was finally ported, a lot of work would
      still be necessary before it is considered usable. Notably, it is
      missing disc image support [1] and some VCDs just cannot be opened for
      reading [2].
      
      [1]: #898
      [2]: #899
      2d5ed459
  24. 02 Feb, 2019 1 commit
  25. 22 Jan, 2019 1 commit
  26. 17 Jan, 2019 1 commit
  27. 08 Jan, 2019 2 commits
  28. 28 Dec, 2018 1 commit
  29. 27 Dec, 2018 1 commit
  30. 26 Dec, 2018 1 commit
  31. 25 Dec, 2018 1 commit
  32. 18 Dec, 2018 1 commit
    • Tim-Philipp Müller's avatar
      Remove acmmp3dec and acmenc plugins · 6ca10c63
      Tim-Philipp Müller authored
      ACM is an ancient legacy API, and there's no point in
      keeping it around for a licensed mp3 decoder now that
      mp3 patents have expired and we have a decoder in -good.
      
      We didn't ship this in cerbero anyway. If there's a good
      case for the AAC encoder (which is LC only anyway) someone
      should write a new plugin based on current APIs, that can
      actually be built out of the box.
      
      Fixes #850
      6ca10c63
  33. 17 Dec, 2018 2 commits
  34. 16 Dec, 2018 1 commit
  35. 13 Dec, 2018 1 commit
    • Wonchul Lee's avatar
      waylandsink: Avoid race condition on multi-threaded client · 2ae381e2
      Wonchul Lee authored
      When waylandsink is used on some other thread than the main wayland
      client thread, the waylandsink implementation is vulnerable to a
      
      condition related to registry and surface events which handled in
      seperated event queue.
      
      The race that may happen is that after a proxy is created, but
      before the queue is set, events meant to be emitted via the yet to
      
      set queue may already have been queued on the wrong queue.
      
      Wayland 1.11 introduced new API that allows creating a proxy
      wrappper which can help to avoid this race condition.
      2ae381e2
  36. 26 Nov, 2018 1 commit