summaryrefslogtreecommitdiff
path: root/gst-libs
Commit message (Collapse)AuthorAgeFilesLines
* codecparsers: h264parser: guard against ref_pic_markings overflowAndrew Wesie2020-10-161-3/+7
|
* h264parser: Do not allocate too large size of memory for registered user ↵Seungha Yang2020-09-252-7/+23
| | | | | | | | | data SEI Don't be confused by the unit of payload size (i.e., bits and bytes) Also this need a documentation with Since mark Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1597>
* gst-player: fix bug with changing playback directionAskar Safin2019-09-061-1/+1
| | | | | | | | | | Fix gst_event_new_seek call in gst-libs/gst/player/gstplayer.c If rate >= 0.0, then previous code doesn't set end of segment. So, the end of segment will be in place where previous seek put it. This is not neccesary end of media file (in case of reverse playback). So if we play video backward for some time and then switched to forward playing, we will get EOS somewhere in the middle of media file. This commit always sets end of segment, thus fixing this bug
* webrtc: Add various Since markers to new types after 1.14.0Sebastian Dröge2019-08-111-2/+14
|
* adaptivedemux: remove some deadlocks using webkitwebsrc.Charlie Turner2019-08-102-22/+40
| | | | | | | | | | | | | | | | | | | | | | | WebKit's websrc depends on the main-thread for download completion rendezvous. This exposed a number of deadlocks in adaptivedemux due to it holding the MANIFEST_LOCK during network requests, and also needing to hold it to change_state and resolve queries, which frequently occur during these download windows. Make demux->running MT-safe so that it can be accessed without using the MANIFEST_LOCK. In case a source is downloading and requires a MT-thread notification for completion of the fragment download, a state change during this download window will deadlock unless we cancel the downloads and ensure they are not restarted before we finish the state-change. Also make demux->priv->have_manifest MT-safe. A duration query happening in the window described above can deadlock for the same reason. Other src queries (like SEEKING) that happen in this window also could deadlock, but I haven't hit this scenario. Increase granularity of API_LOCK'ing in change_state as well. We need to cancel downloads before trying to take this lock, since sink events (EOS) will hold it before starting a fragment download.
* webrtc: Add g_autoptr() support for public typesNiels De Graef2019-08-086-0/+25
|
* meson: fix build with opencv=enabled and opencv4. Fixes #964Christoph Reiter2019-08-071-2/+4
| | | | | | | | Having the opencv feature enabled would lead to the opencv3 dependency being required which failed with only opencv4 being available. Instead don't require anything and error out at the end if the feature was enabled but no dependency was found.
* autotools: gstsctp: set LDFLAGSChristoph Reiter2019-08-071-0/+5
| | | | This fixes the mingw build which failed because of "-no-undefined" missing.
* player: Fix various Since markers in the docsSebastian Dröge2019-08-072-13/+13
|
* libs: Fix various Since markersSebastian Dröge2019-08-073-20/+20
|
* h264parse: extract CEA-708 closed captionsTim-Philipp Müller2019-04-082-0/+78
| | | | | | | | | | Expose SEI data in the H.264 bitstream parser API and extract closed captions and other things that are not specified in the H.264 spec itself in the videoparser. Based on patch by: Mathieu Duponchelle <mathieu@centricular.com> https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/940
* h265parse: forward time codesMathieu Duponchelle2019-04-012-0/+96
| | | | This transforms time code SEIs into GstVideoTimeCodeMeta
* h264parse: forward time codesMathieu Duponchelle2019-04-011-0/+15
| | | | | This transforms time codes from the timing SEI into GstVideoTimeCodeMeta
* waylandsink: Implement XDG-shell stable supportNiels De Graef2019-03-041-1/+1
| | | | | | | | | | | | | | | [wl_shell] is officially [deprecated], so provide support for the XDG-shell protocol should be provided by all desktop-like compositors. (In case they don't, we can of course fall back to wl_shell). Note that the [XML spec] is provided by the `wayland-protocols` git repository, which is provided by the Wayland project. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/897 [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c [XML spec]: https://github.com/wayland-project/wayland-protocols/blob/master/stable/xdg-shell/xdg-shell.xml
* opencv: port to c++Nicola Murino2019-02-024-72/+45
|
* webrtc: expose ice-transport-policy propertyMathieu Duponchelle2019-01-231-0/+14
| | | | | | | | | | | | | This is the equivalent of iceTransportPolicy in the RTCConfiguration dictionary. Only two values are implemented: * all: default behaviour * relay: only gather relay candidates The third member of the iceTransportPolicy enum, "public", is obsolete.
* Remove GstVideoAggregator, moved into libgstvideo in -baseTim-Philipp Müller2018-12-268-2920/+2
| | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/137
* player: Logging fix for updated audio infoPhilippe Normand2018-12-221-1/+1
| | | | Bitrate was logged a second time instead of the max_bitrate.
* player: Don't crash if playbin is not available but kill the process cleanlySebastian Dröge2018-12-101-1/+7
|
* h265parser: parse SEI recovery pointGuillaume Desmottes2018-12-022-1/+43
| | | | | | | Copied the implementation from h264parser and adapted it to the HEVC syntax. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/790
* webrtc: Remove duplicate declarationsMaciej Wolny2018-11-281-3/+0
| | | | This causes 'redefinition of typedef ...' errors on GCC 4.5.3
* opencv: make compatible with opencv 4Nicola Murino2018-11-263-0/+9
| | | | Closed #826
* opencv: fix indentationNicola Murino2018-11-262-10/+11
|
* mpegts: Register a number of new boxed types to support auto generation of ↵Russel Winder2018-11-084-41/+324
| | | | bindings.
* h265parser: Various update of vps parsingSeungha Yang2018-11-072-6/+40
| | | | | | | | | | | | * Add FIXME for future correction of HRDParames parsing. Spec. defines that the number of HRDParames could be up to "vps_num_layer_sets_minus1 + 1" (i.e., 1024). * Add parsing vps_base_layer_{internal,available}_flag. * Fix possible invalid vps_extension parsing. Fixes #798
* h265parser: Fix wrong maximum range check in gst_h265_parse_vps()Seungha Yang2018-11-071-4/+11
| | | | | | Fix validation of some syntax. Fixes #798
* h265parser: Stop considering 6 bytes NAL completeNicolas Dufresne2018-11-061-1/+6
| | | | | | This is only TRUE for EOS / EOB NALs. Before this patch, passing any valid 6 bytes of a NAL would make the parser pretend this NAL is complete.
* h264parser: Stop considering 5 bytes NAL completeNicolas Dufresne2018-11-061-1/+7
| | | | | | This is only TRUE for SEQ_END / STREAM_END. Before this patch, passing any valid 5 bytes of a NAL would make the parser pretend this NAL is complete.
* mpegts: remove insignificant trailing whitespace from lines of files in the ↵Russel Winder2018-11-057-25/+24
| | | | MPEG-TS library.
* mpegts: Register a boxed type for GstMpegtsContentRussel Winder2018-11-012-0/+23
|
* player: don't change uri when setting subtitle uriVíctor Manuel Jáquez Leal2018-11-011-2/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=797362
* player: API additions for subtitle-video-offset propertyPhilippe Normand2018-11-012-0/+60
| | | | | | | This new property contols the synchronisation offset between subtitles and video in nanoseconds. https://bugzilla.gnome.org/show_bug.cgi?id=797134
* mpegts: Use gst and gst_mpegts as symbol prefix in the meson buildSebastian Dröge2018-10-281-1/+1
| | | | Just like we do in the autotools build.
* mpegts: Add boxed type for DVB CableDeliverySystem descriptorSebastian Dröge2018-10-272-1/+29
|
* player: Don't set state to READY if we're already stoppedSebastian Dröge2018-10-241-0/+5
| | | | | | | Otherwise setting an URI after creation will already set the state to READY/buffering and disallow setting the configuration. See https://github.com/servo/servo/issues/22010
* webrtcbin: implement support for group: BUNDLEMathieu Duponchelle2018-10-151-0/+18
|
* player: fix deprecated api declarationTim-Philipp Müller2018-09-242-5/+11
|
* libs: fix API export/import and 'inconsistent linkage' on MSVCTim-Philipp Müller2018-09-2464-30/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each lib we build export its own API in headers when we're building it, otherwise import the API from the headers. This fixes linker warnings on Windows when building with MSVC. The problem was that we had defined all GST_*_API decorators unconditionally to GST_EXPORT. This was intentional and only supposed to be temporary, but caused linker warnings because we tell the linker that we want to export all symbols even those from externall DLLs, and when the linker notices that they were in external DLLS and not present locally it warns. What we need to do when building each library is: export the library's own symbols and import all other symbols. To this end we define e.g. BUILDING_GST_FOO and then we define the GST_FOO_API decorator either to export or to import symbols depending on whether BUILDING_GST_FOO is set or not. That way external users of each library API automatically get the import. While we're at it, add new GST_API_EXPORT in config.h and use that for GST_*_API decorators instead of GST_EXPORT. The right export define depends on the toolchain and whether we're using -fvisibility=hidden or not, so it's better to set it to the right thing directly than hard-coding a compiler whitelist in the public header. We put the export define into config.h instead of passing it via the command line to the compiler because it might contain spaces and brackets and in the autotools scenario we'd have to pass that through multiple layers of plumbing and Makefile/shell escaping and we're just not going to be *that* lucky. The export define is only used if we're compiling our lib, not by external users of the lib headers, so it's not a problem to put it into config.h Also, this means all .c files of libs need to include config.h to get the export marker defined, so fix up a few that didn't include config.h. This commit depends on a common submodule commit that makes gst-glib-gen.mak add an #include "config.h" to generated enum/marshal .c files for the autotools build. https://bugzilla.gnome.org/show_bug.cgi?id=797185
* libs: dist new sctp libTim-Philipp Müller2018-09-211-1/+1
|
* gst-libs: Always build sctp mini-libraryEdward Hervey2018-09-211-7/+3
| | | | It doesn't depend on any external library
* webrtcbin: add support for data channels based on SCTPMatthew Waters2018-09-211-0/+53
| | | | | | | | | | Mostly follows the W3C specification https://www.w3.org/TR/webrtc/#peer-to-peer-data-api With contributions from: Mathieu Duponchelle <mathieu@centricular.com> https://bugzilla.gnome.org/show_bug.cgi?id=794351
* sctp*meta: fix api define in gst_sctp_buffer_get_*_meta()Matthew Waters2018-09-212-2/+2
|
* Update sctp plugin for the current build systemMatthew Waters2018-09-216-1/+70
| | | | | - Add meson build definitions - Add necessary API decorators
* Add new SCTP plugins (sctpenc/sctpdec)George Kiagiadakis2018-09-216-2/+330
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=744863
* player: Set default position and duration value to GST_CLOCK_TIME_NONEPhilippe Normand2018-09-031-2/+2
| | | | | | | When the position query fails the returned value shall remain -1 instead of 0 to avoid confusion on application side between error and beginning of media. https://bugzilla.gnome.org/show_bug.cgi?id=797066
* meson: Maintain macOS ABI through dylib versioningNirbheek Chauhan2018-08-3114-0/+14
| | | | | | | | Requires Meson 0.48, but the feature will be ignored on older versions so it's safe to add it without bumping the requirement. Documentation: https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
* videoaggregator: Make sure to hold object lock while iterating sink padsSebastian Dröge2018-08-161-9/+19
| | | | They might otherwise just change while we iterate.
* meson: fix install dir for generated header filesBastian Köcher2018-08-103-3/+5
| | | | | | | | Nixos installs into a non-standard includedir, so need to take account of the 'includedir' option instead of just hard-coding 'include' here. https://bugzilla.gnome.org/show_bug.cgi?id=794856
* badaudio: Fix typo, ADUIO vs AUDIONicolas Dufresne2018-08-031-1/+1
|
* GstPlanarAudioAdapter: Add audio library in Makefile.amNicolas Dufresne2018-08-031-1/+2
| | | | This fixes a build regression.