summaryrefslogtreecommitdiff
path: root/ges
AgeCommit message (Collapse)AuthorFilesLines
2021-08-20ges-uri-source: fix object debugMathieu Duponchelle1-2/+2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/265>
2021-08-14clip: Copy trackelement's metadata upon splittingPiotrek Brzeziński1-0/+5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/260>
2021-08-14xml-formatter: Add support for metadata on sourcesPiotrek Brzeziński3-8/+18
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/260>
2021-08-14marker-list: Add flags (de)serializationPiotrek Brzeziński1-14/+30
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/260>
2021-08-06ges: freeze commit during renderStéphane Cerveau3-1/+60
In render mode, do not commit the timeline as the position can be invalid and lead to missing frames. Fixes #136 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/262>
2021-08-05timeline: Check if metadata value holds object on marker snappingPiotrek Brzeziński1-3/+7
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/263>
2021-07-04timeline: Implement snapping to markersPiotrek Brzeziński6-12/+226
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/259>
2021-06-16Check mandatory ClockTime argumentsFrançois Laignel2-0/+9
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/258>
2021-06-02Use g_memdup2() where available and add fallback for older GLib versionsTim-Philipp Müller1-1/+1
Size is constant here, so no problem in any case, but g_memdup() is now deprecated and we don't want deprecation warnings. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/257>
2021-05-21uriclip: Add an error message when creating a clip failedThibault Saunier1-2/+6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/252>
2021-05-18structure-interface: Convert fields type as much as possibleThibault Saunier2-2/+42
Since 60922c02889cf1ebcfaca4501936be689c342e01 we force string in the command line parser which broke setting layers on clips for example Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/253>
2021-05-18validate: Add support to check properties of object propertiesThibault Saunier1-13/+31
And recursively Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/253>
2021-05-15smart-mixer: Add support for d3d11compositor and glvideomixerSeungha Yang2-6/+55
Some hardware compositor elements (d3d11compositor and glvideomixer) consist of wrapper bin with internal mixer element. So, we need special handling for such elements. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/242>
2021-05-15framepositioner: Install operator property only when compositor is usedSeungha Yang1-12/+23
Other compositor/mixer elements might not have the property. For instance, d3d11compositor and glvideomixer define graphics API specific blending properties, instead of simple "operator" one. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/242>
2021-05-12xml-formatter: Write xml directly to fileDoug Nazar1-7/+1
Skip allocation of temp buffer (which was undersized). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/250>
2021-05-05track-element: Fix and cleanup annotationsThibault Saunier1-20/+41
Making the class subclass able by bindings Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/231>
2021-05-05ges: Move GESVideo/AudioSource::create_source to GESSourceThibault Saunier13-59/+94
Deprecating the old variants which were not introspectable and cleaning a bit the API. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/231>
2021-05-05Use gst_element_request_pad_simple...François Laignel4-6/+7
Instead of the deprecated gst_element_get_request_pad. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/240>
2021-04-28ges: Port to gst_print*Seungha Yang4-8/+8
Sync with gst-launch, as g_print* will print broken string on Windows. See also https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/258 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/245>
2021-04-23framepositioner: Allow ANY caps featuresSeungha Yang1-6/+5
framepositioner will not touch raw video data and therefore should be able to accept ANY caps features Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/243>
2021-04-23gstframepositioner: fix operator magic numberreed.lawrence1-1/+4
In gst_frame_positioner_init, there was the magic number 1 when assigning the default value of the operator. Now it has the default value for the operator pulled from the compositor. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/241>
2021-04-21gstframepositioner: added 'operator' propertyreed.lawrence4-2/+61
The 'operator' property was added to gstframepositioner so that blending modes in the compositor could be accessed. This was done by accessing the pad of the compositor class, and referencing the 'operator' property in that pad. Getters and Setters were also created so that the 'operator' could be accessed by software that is based on GES, such as Pitivi. Related to but does not close Issue https://gitlab.gnome.org/GNOME/pitivi/-/issues/2313 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/236>
2021-04-14framepositioner: Fix runtime warningSeungha Yang1-1/+1
GstCaps is not a GObject! Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/238>
2021-04-08titleclip: Expose draw-shadow child propertyAdam Leppky1-1/+1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/235>
2021-03-19gst: don't use volatile to mean atomicMatthew Waters2-3/+3
volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations. https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/234>
2021-03-08ges: doc: Fix wrong vmethod linksThibault Saunier1-10/+11
2021-03-08group: Use proper group constructorThibault Saunier1-1/+1
Otherwise we might en up having a group which is not backed by any asset leading to possible assertion as this should never happen (see https://gitlab.gnome.org/GNOME/pitivi/-/issues/2526) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/232>
2021-02-10project: Plug a leakThibault Saunier1-1/+1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-10xml-formatter: Properly report error parsing restriction capsThibault Saunier1-0/+9
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-10command-line-formatter: Stop uselessly looping over optionsThibault Saunier1-0/+1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-10command-line-formatter: Add a way to format timelines using the formatThibault Saunier4-10/+361
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-10ges: Use a `ges:` uri to define timeline from descriptionThibault Saunier1-3/+57
This way the command line formatter actually uses an URI and not an ugly hack where were passing a random string instead of an URI. This also allows the `gessrc` element to handle timelines described in its URI meaning that you can now use, for example: gst-play-1.0 "ges:+test-clip blue d=4.0 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-10ges: Add keyframe support to the command line formatterThibault Saunier3-5/+58
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-10structured-interface: Move set_control_source from ges-validateThibault Saunier3-83/+179
So it can be reused in the command line formatter. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09structured-interface: Factor out method to get element to set propertyThibault Saunier1-103/+131
Used to set properties or keyframes Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09command-line-formatter: Reindent command line options arrayThibault Saunier1-66/+90
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09formatter: Use the new `GstEncodingProfile:element-properties` propertyThibault Saunier2-68/+23
Cleaning up the code and making everything simpler. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09ges: Minor debug logging level and typo fixesThibault Saunier3-4/+4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09command-line-formatter: Add track management to timeline descriptionThibault Saunier5-18/+111
Instead of having it all handled by the tool, this way we can set the restriction before clips are added to the timeline, leading to better behavior in term of video images placement in the scene. Without that we would have the clips positioned before setting the restriction caps which leads to weird behavior for the end users. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-02-09test-source: Respect asset natural sizeThibault Saunier2-23/+47
We had cases where the frame positioner had the default natural size for video test sources instead of the user provided one. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-26ges-structure-parser: force string typesHenry Wilkes5-27/+111
Force a string type for structure values obtained through parsing a serialized timeline by inserting a (string) specifier after a '=', rather than relying on gst_structure_from_string guessing the type. As such, the functions that extract clocktimes and properties are modified to accept string value types. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123>
2021-01-26command-line-formatter: fix typosHenry Wilkes1-3/+3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123>
2021-01-26marker-list: made deserialize reverse of serializeHenry Wilkes1-2/+22
Changed deserialize method to actually reverse the serialize method by removing the edge quote marks and reversing g_strescape. See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/452 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123>
2021-01-23uri-source: Respect stream-id even on streams muxed in rawThibault Saunier6-14/+77
The issue is that we rely on `decodebin::autoplug-select` to `SKIP` unwanted pads, that signal was first provided to select factories during autoplugin, not totally thought to avoid exposing pads. For streams muxed directly in raw, decodebin has nothing to plug after the demuxer and the pad is exposed right away, meaning that we do not have any chance to avoid that pad to be exposed. This patch takes that limitation into account and checks the stream ID of the pads exposed by decodebin before exposing them itself, so we end up using the right pad even if more are uselessly exposed by decodebin. Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/126 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/222>
2021-01-19audio-track: Respect track restrictions in our gapsThibault Saunier1-4/+57
Avoiding not negotiated errors in specific cases. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/225>
2020-10-31init: Fix initialisation crashJan Schmidt1-0/+3
Fix a case where initialisation fails without setting the passed-in GError and the caller assumes it will be set, and add a guard to catch the condition in case it happens again in the future. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/217>
2020-10-23Meson: Use pkg-config generatorXavier Claessens1-0/+9
2020-10-16meson: update glib minimum version to 2.56Stéphane Cerveau1-21/+14
In order to support the symbol g_enum_to_string in various project using GStreamer ( gst-validate etc.), the glib minimum version should be 2.56.0. Remove compat code as glib requirement is now > 2.56 Version used by Ubuntu 18.04 LTS Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/215>
2020-09-11ges: Do not recreate auto-transitions when changing clip assetsThibault Saunier6-38/+106
Otherwise we loose the configuration of the auto transition, and it is not required at all in any case. Fixes https://gitlab.gnome.org/GNOME/pitivi/-/issues/2380 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/208>
2020-09-09video-transition: Make smpte props children propertiesThibault Saunier2-4/+18
And deprecate old style accessors. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/207>