summaryrefslogtreecommitdiff
path: root/gst-libs
AgeCommit message (Collapse)AuthorFilesLines
2018-09-24player: fix deprecated api declarationTim-Philipp Müller2-5/+11
2018-09-24libs: fix API export/import and 'inconsistent linkage' on MSVCTim-Philipp Müller64-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
2018-09-21libs: dist new sctp libTim-Philipp Müller1-1/+1
2018-09-21gst-libs: Always build sctp mini-libraryEdward Hervey1-7/+3
It doesn't depend on any external library
2018-09-21webrtcbin: add support for data channels based on SCTPMatthew Waters1-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
2018-09-21sctp*meta: fix api define in gst_sctp_buffer_get_*_meta()Matthew Waters2-2/+2
2018-09-21Update sctp plugin for the current build systemMatthew Waters6-1/+70
- Add meson build definitions - Add necessary API decorators
2018-09-21Add new SCTP plugins (sctpenc/sctpdec)George Kiagiadakis6-2/+330
https://bugzilla.gnome.org/show_bug.cgi?id=744863
2018-09-03player: Set default position and duration value to GST_CLOCK_TIME_NONEPhilippe Normand1-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
2018-08-31meson: Maintain macOS ABI through dylib versioningNirbheek Chauhan14-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
2018-08-16videoaggregator: Make sure to hold object lock while iterating sink padsSebastian Dröge1-9/+19
They might otherwise just change while we iterate.
2018-08-10meson: fix install dir for generated header filesBastian Köcher3-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
2018-08-03badaudio: Fix typo, ADUIO vs AUDIONicolas Dufresne1-1/+1
2018-08-03GstPlanarAudioAdapter: Add audio library in Makefile.amNicolas Dufresne1-1/+2
This fixes a build regression.
2018-08-03GstPlanarAudioAdapter: copy pts, dts and offset tracking from GstAdapterGeorge Kiagiadakis2-21/+293
https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03libs: audio: add new GstPlanarAudioAdapter classGeorge Kiagiadakis4-4/+494
This is a GstAdapter, but for planar audio buffers. https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-02opencv: Updated to use new header pathNicolas Dufresne2-2/+2
2018-08-02opencv: Bump requirement to 3.0.0+Nicolas Dufresne1-1/+1
And removes all the ifdef code to support the 2.X APIs.
2018-07-27Add feature options for almost all pluginsNirbheek Chauhan2-7/+8
The only plugins remaining are those that haven't been ported to Meson yet, and msdk. Also, the tests are still automagic. https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-14webrtc: Move dtlssrtpenc state managementJan Schmidt1-2/+0
Move the errant piece of dtlssrtpenc state change management from dtlstransport in the Webrtc libs, into the transportsendbin that does the rest of the element management so it's all in one place.
2018-07-14webrtc/dtlstransport: Add more debug. Rename categoryJan Schmidt1-1/+1
Rename the dtlstransport debug category to webrtcdtlstransport.
2018-07-02player: Avoid trying to join the player thread from itselfRoland Jon1-1/+4
https://bugzilla.gnome.org/show_bug.cgi?id=796731
2018-06-24libs: Update for g_type_class_add_private() deprecation in recent GLibTim-Philipp Müller4-24/+22
2018-06-24videoaggregator: Update for g_type_class_add_private() deprecation in recent ↵Tim-Philipp Müller1-18/+21
GLib
2018-06-15videoaggregator: Fix string leakSeungha Yang1-2/+3
gst_video_colorimetry_to_string() returns allocated memory which must be freed. https://bugzilla.gnome.org/show_bug.cgi?id=796596
2018-06-11gst_webrtc_session_description_new: fix annotationsMathieu Duponchelle1-1/+1
2018-06-11videoaggregator: log an ERROR if we're going to return a flow errorTim-Philipp Müller1-1/+1
2018-06-05webrtc: Fix wrong parent classes for DTLSTransport and ICETransportThibault Saunier2-2/+2
Those are GObjects not GstBins
2018-06-04player: Fix duration-changed CRITICAL warning if duration did not actually ↵Lyon Wang1-1/+2
change Check if duration is changed before emitting duration-changed signal https://bugzilla.gnome.org/show_bug.cgi?id=796491
2018-06-01codecparsers: mpeg2: don't mess the StartCode only packetsSreerenj Balachandran1-1/+1
It is completely legal to have packets with zero sizes. Zero-sized packet indicates header with only Start Code. One eg: is user data packet. The patch allows having GstMpegVideoPacket with zero sizes. https://bugzilla.gnome.org/show_bug.cgi?id=796477
2018-05-28adaptivedemux: Set connection-speed value as current download rate if setHosang Lee1-0/+1
If connection-speed property is in use, this value should be used as the current download rate since subclasses might read it to figure out which playlist variant they will use. https://bugzilla.gnome.org/show_bug.cgi?id=784592
2018-05-19mpegts: Add GIR generation array anotationsRussel Winder3-17/+17
For function parameters that are known to be arrays. https://bugzilla.gnome.org/show_bug.cgi?id=796221
2018-05-18libs: g-ir-scanner: do not hardcode libtool pathAntoine Jacoutot2-2/+2
https://bugzilla.gnome.org/show_bug.cgi?id=726571
2018-05-16videoaggregator: Remove custom get_next_time implementationOlivier Crête1-23/+1
GstAggregator now has the same thing in the simple implementation. https://bugzilla.gnome.org/show_bug.cgi?id=795486
2018-05-12adaptivedemux: Support period change in live playlistSeungha Yang1-9/+13
Regardless of LIVE or VOD, "a manifest has next period but currently EOSed" state is meaning that it's time to advance period. Previous behavior of adpativedemux, however, was able to period advancing only for VOD case, since the adaptivedemux tried to update and wait new manifest without respecting existence of the next period. https://bugzilla.gnome.org/show_bug.cgi?id=781183
2018-05-09webrtcbin: implement support for FEC and RTXMathieu Duponchelle1-0/+11
https://bugzilla.gnome.org/show_bug.cgi?id=795044
2018-05-07videoaggregator: Set video-meta option on buffer pool configuration correctlySebastian Dröge1-5/+9
CID 1435451
2018-05-07videoaggregator: First override set/get_property vfuncs, then install propertiesSebastian Dröge1-5/+4
Gives assertions otherwise.
2018-05-06videoaggregator: Some more documentation fixesSebastian Dröge1-4/+3
2018-05-06videoaggregator: expose converter-config on convert padsMathieu Duponchelle1-1/+66
This in order to allow users control over the conversion process, for example the scaling method.
2018-05-06videoaggregator: Fix up documentation some moreSebastian Dröge1-1/+1
2018-05-06videoaggregator: Clean up header and update docs a bitSebastian Dröge2-27/+26
2018-05-06videoaggregator: Rename get_output_buffer() to create_output_buffer()Sebastian Dröge2-6/+6
For consistency with GstAudioAggregator.
2018-05-06videoaggregator: Validate pool configuration and create a new pool if it ↵Sebastian Dröge1-6/+41
just does not work Also pass the given allocator to the pool if one is set.
2018-05-06videoaggregator: Switch to a GstVideoAggregatorConvertPad subclassSebastian Dröge2-142/+312
This moves all the conversion related code to a single place, allows less code-duplication inside compositor and makes the glmixer code less awkward. It's also the same pattern as used by GstAudioAggregator.
2018-05-05videoaggregator: Remove sink_non_alpha_caps class fieldSebastian Dröge2-90/+68
This is only used for caching reasons and should never actually be in the public API. If this is ever a bottleneck later, caching around a class private struct could be implemented.
2018-05-05videoaggregator: Move needs_alpha pad field to the private structSebastian Dröge2-5/+34
And also trigger renegotiation if the value has changed. https://bugzilla.gnome.org/show_bug.cgi?id=795836
2018-05-05videoaggregator: Move aggregated_frame and the pad buffer into the private ↵Sebastian Dröge2-51/+127
struct The aggregated_frame is now called prepared_frame and passed to the prepare_frame and cleanup_frame virtual methods directly. For the currently queued buffer there is a method on the video aggregator pad now.
2018-05-04videoaggregator: Move property storage to private pad structSebastian Dröge2-15/+16
2018-05-04videoaggregator: Rename ignore-eos pad property to repeat-after-eosSebastian Dröge2-13/+13
What it does is to repeat the last frame forever after EOS, it does not literally ignore EOS.