gstreamer/subprojects/gst-editing-services/ChangeLog

28737 lines
968 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=== release 1.19.2 ===
2021-09-23 01:35:39 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
* meson.build:
Release 1.19.2
2021-08-10 17:10:43 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/meson.build:
* tools/ges-launcher.c:
* tools/ges-validate.c:
* tools/utils.h:
launch: Make enabling validate opt-in
Instead of opt-out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/264>
2021-08-12 23:37:59 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ges/ges-uri-source.c:
ges-uri-source: fix object debug
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/265>
2021-08-10 23:54:47 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* docs/gst_plugins_cache.json:
* plugins/nle/nlecomposition.c:
* tools/ges-launcher.c:
* tools/utils.h:
ges-launcher: add option to forward tags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/265>
2021-08-10 23:25:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* tools/ges-launcher.c:
* tools/utils.h:
ges-launcher: allow using a clip to determine the rendering format
This includes both topology and profile
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/265>
2021-08-10 23:23:39 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* tools/ges-launcher.c:
launcher: don't start the pipeline before we're done updating it
Since 70e3b8ae2a8d13b50f52305b71cfa4b590bb63f6 the CommandLineFormatter
also emit "loaded" so we ended up doing this twice, once
as before in `run_pipeline` and another time in the `project:loaded`
callback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/265>
2021-08-10 23:20:21 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* tools/ges-launcher.c:
ges-launcher: don't unref transfer none objects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/265>
2021-07-21 19:31:53 +0200 Piotrek Brzeziński <thewildtree@outlook.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: Copy trackelement's metadata upon splitting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/260>
2021-07-09 16:15:01 +0200 Piotrek Brzeziński <thewildtree@outlook.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
xml-formatter: Add support for metadata on sources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/260>
2021-07-09 16:14:19 +0200 Piotrek Brzeziński <thewildtree@outlook.com>
* ges/ges-marker-list.c:
* tests/check/ges/markerlist.c:
marker-list: Add flags (de)serialization
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/260>
2021-08-03 11:31:07 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ges/ges-pipeline.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
ges: freeze commit during render
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-05 22:59:07 +0200 Piotrek Brzeziński <thewildtree@outlook.com>
* ges/ges-timeline-tree.c:
timeline: Check if metadata value holds object on marker snapping
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/263>
2021-06-20 23:51:02 +0200 Piotrek Brzeziński <thewildtree@outlook.com>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-internal.h:
* ges/ges-marker-list.c:
* ges/ges-marker-list.h:
* ges/ges-timeline-tree.c:
* tests/check/ges/markerlist.c:
* tests/check/ges/timelineedition.c:
timeline: Implement snapping to markers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/259>
2021-06-16 17:12:11 +0200 François Laignel <fengalin@free.fr>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
Check mandatory ClockTime arguments
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/258>
2021-05-22 18:41:08 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-pitivi-formatter.c:
* meson.build:
Use g_memdup2() where available and add fallback for older GLib versions
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-06-01 15:29:10 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.1 ===
2021-06-01 00:16:05 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
* meson.build:
Release 1.19.1
2021-05-18 11:42:22 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-clip.c:
uriclip: Add an error message when creating a clip failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/252>
2021-05-18 11:31:19 -0400 Thibault Saunier <tsaunier@igalia.com>
* examples/c/simple1.c:
examples: c: Sensibly simplify the simple example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/252>
2021-05-18 11:16:02 -0400 Thibault Saunier <tsaunier@igalia.com>
* examples/python/gst-player.py:
* examples/python/simple.py:
examples: python: Simplify the simple example
We shouldn't show assets usage in the simplest example we have
as it is useful for more advanced use cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/252>
2021-05-21 15:26:03 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-audiosink-sink-expected:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected:
tests: Update expectation files with sorted structure fields
2021-05-20 16:47:41 +0100 Philippe Normand <philn@igalia.com>
* tests/check/ges/test-utils.c:
* tests/check/meson.build:
* tests/check/nle/complex.c:
* tests/check/nle/nlecomposition.c:
* tests/check/nle/nleoperation.c:
* tests/check/nle/nlesource.c:
* tests/check/nle/seek.c:
* tests/check/nle/simple.c:
* tests/check/nle/tempochange.c:
* tests/check/scenarios/check_edit_in_frames_with_framerate_mismatch.scenario:
* tests/check/scenarios/check_layer_activness_gaps.scenario:
tests/check: Use fake{audio,video}sink
The tests already depend on -bad, so this should be OK.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/254>
2021-05-20 16:45:43 +0100 Philippe Normand <philn@igalia.com>
* tools/ges-launcher.c:
launcher: Switch to fake{audio,video}sink
Simplifies the code a bit, though introducing runtime dependency on -bad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/254>
2021-05-18 21:31:38 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structured-interface.c:
* tests/check/meson.build:
* tests/check/scenarios/set-layer-on-command-line.validatetest:
structure-interface: Convert fields type as much as possible
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-18 22:04:48 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Add support to check properties of object properties
And recursively
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/253>
2021-04-23 16:08:48 +0900 Seungha Yang <seungha@centricular.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-utils.c:
smart-mixer: Add support for d3d11compositor and glvideomixer
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-04-24 00:55:45 +0900 Seungha Yang <seungha@centricular.com>
* ges/gstframepositioner.c:
framepositioner: Install operator property only when compositor is used
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-12 17:43:46 -0400 Doug Nazar <nazard@nazar.ca>
* ges/ges-xml-formatter.c:
xml-formatter: Write xml directly to file
Skip allocation of temp buffer (which was undersized).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/250>
2021-05-01 19:18:15 -0400 Doug Nazar <nazard@nazar.ca>
* tests/check/meson.build:
tests: Run ges-launch tests non-interactively
It's not needed for the tests and fixes an occasional issue where
the terminal is left in -echo mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/248>
2021-02-24 23:49:06 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track-element.h:
track-element: Fix and cleanup annotations
Making the class subclass able by bindings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/231>
2021-02-24 23:37:28 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-source.c:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.c:
* ges/ges-audio-uri-source.c:
* ges/ges-image-source.c:
* ges/ges-multi-file-source.c:
* ges/ges-source.h:
* ges/ges-title-source.c:
* ges/ges-track-element.h:
* ges/ges-video-source.c:
* ges/ges-video-source.h:
* ges/ges-video-test-source.c:
* ges/ges-video-uri-source.c:
ges: Move GESVideo/AudioSource::create_source to GESSource
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-04-21 10:47:51 +0200 François Laignel <fengalin@free.fr>
* docs/design/encoding.txt:
* ges/ges-effect-asset.c:
* ges/ges-pipeline.c:
* ges/ges-smart-video-mixer.c:
* ges/gstframepositioner.c:
* plugins/nle/nleoperation.c:
Use gst_element_request_pad_simple...
Instead of the deprecated gst_element_get_request_pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/240>
2021-04-28 00:57:35 +0900 Seungha Yang <seungha@centricular.com>
* examples/c/concatenate.c:
* examples/c/ges-ui.c:
* examples/c/gessrc.c:
* examples/c/multifilesrc.c:
* examples/c/overlays.c:
* examples/c/play_timeline_with_one_clip.c:
* examples/c/simple1.c:
* examples/c/test2.c:
* examples/c/test3.c:
* examples/c/test4.c:
* examples/c/text_properties.c:
* examples/c/thumbnails.c:
* examples/c/transition.c:
* ges/ges-asset.c:
* ges/ges-timeline-tree.c:
* ges/ges-uri-asset.c:
* ges/ges.c:
* tests/benchmarks/timeline.c:
* tests/check/ges/test-utils.c:
* tools/ges-launcher.c:
* tools/ges-validate.c:
* tools/utils.c:
ges: Port to gst_print*
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-23 16:42:26 +0900 Seungha Yang <seungha@centricular.com>
* ges/gstframepositioner.c:
framepositioner: Allow ANY caps features
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-23 09:01:35 -0500 reed.lawrence <reed.lawrence@zenofchem.com>
* ges/gstframepositioner.c:
gstframepositioner: fix operator magic number
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-21 18:12:30 -0500 reed.lawrence <reed.lawrence@zenofchem.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-video-source.c:
* ges/gstframepositioner.c:
* ges/gstframepositioner.h:
gstframepositioner: added 'operator' property
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-14 12:58:30 +0900 Seungha Yang <seungha@centricular.com>
* ges/gstframepositioner.c:
framepositioner: Fix runtime warning
GstCaps is not a GObject!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/238>
2021-04-08 15:35:30 -0500 Adam Leppky <aleppky2@huskers.unl.edu>
* ges/ges-title-source.c:
titleclip: Expose draw-shadow child property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/235>
2021-03-19 17:21:01 +1100 Matthew Waters <matthew@centricular.com>
* ges/ges-smart-video-mixer.c:
* ges/gstframepositioner.c:
* plugins/nle/nlecomposition.c:
* plugins/nle/nleobject.c:
gst: don't use volatile to mean atomic
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-08 14:50:52 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.h:
ges: doc: Fix wrong vmethod links
2021-03-08 09:56:49 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-group.c:
group: Use proper group constructor
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-17 21:34:22 +1100 Jan Schmidt <jan@centricular.com>
* tests/check/scenarios/check_keyframes_in_compositor_two_sources.validatetest:
* tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected:
Update check_keyframes_in_compositor_two_sources
Update the validate expectation for videoconvert caps changes in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1033
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/229>
2021-01-19 11:00:22 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Plug a leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-19 10:29:09 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Properly report error parsing restriction caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:29:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/meson.build:
* tests/check/scenarios/check-clip-positioning.validatetest:
test: Check clip positioning works when specifying track size
Make use of the new 'timeline specification' support in .validatetest
files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:28:34 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
tools: Fix some naming
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:28:17 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
tools: Reindent options
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:27:30 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launch: Add encoding profiles to the project
So it is serialized on `--save`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:26:36 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
* tools/utils.c:
validate: Handle passing timeline desc in .validatetest files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:25:12 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesbasebin.c:
* plugins/ges/gesdemux.c:
plugin: Fix `is-ges-timeline` registration
We need to register it for all subclasses.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:23:13 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
command-line-formatter: Stop uselessly looping over options
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:21:06 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-command-line-formatter.h:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
* plugins/ges/gessrc.c:
* tools/utils.c:
command-line-formatter: Add a way to format timelines using the format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 15:03:20 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* plugins/ges/gessrc.c:
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/utils.c:
* tools/utils.h:
ges: Use a `ges:` uri to define timeline from description
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-01-15 09:27:31 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structure-parser.c:
* ges/parse.l:
ges: Add keyframe support to the command line formatter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 09:25:11 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
* ges/ges-structured-interface.h:
* ges/ges-validate.c:
structured-interface: Move set_control_source from ges-validate
So it can be reused in the command line formatter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 09:13:59 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
structured-interface: Factor out method to get element to set property
Used to set properties or keyframes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 08:49:20 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
command-line-formatter: Reindent command line options array
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-15 08:47:10 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
formatter: Use the new `GstEncodingProfile:element-properties` property
Cleaning up the code and making everything simpler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-14 08:05:59 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-validate.c:
ges: Minor debug logging level and typo fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227>
2021-01-12 15:55:52 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structure-parser.c:
* ges/ges-structured-interface.c:
* ges/ges-structured-interface.h:
* ges/parse.l:
* tools/ges-launcher.c:
command-line-formatter: Add track management to timeline description
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-01-13 15:18:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
test-source: Respect asset natural size
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-29 20:42:26 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* tools/ges-launcher.c:
ges-launcher: do not set rendering details too early
It looks like the _set_rendering_details call is superfluous
in _startup(), as it will get called in run_pipeline.
The problem with calling it before timeline_set_user_options
is that we are going to fail creating a smart profile if
the user selected eg --track-types=video, as the get_smart_profile
method compares the tracks in the asset with those on the timeline.
Reproduce with a video-only clip:
ges-launch-1.0 --track-types=video +clip file://$PWD/jelly.mp4 \
inpoint=15.0 -o foo.mp4 --smart-rendering
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/228>
2019-10-29 17:03:14 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structure-parser.c:
* ges/ges-structure-parser.h:
* ges/ges-structured-interface.c:
* ges/parse.l:
ges-structure-parser: force string types
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>
2019-10-29 16:29:24 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-command-line-formatter.c:
command-line-formatter: fix typos
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123>
2019-10-18 23:23:10 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-marker-list.c:
* tests/check/ges/markerlist.c:
marker-list: made deserialize reverse of serialize
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>
2020-12-13 22:54:37 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-uri-source.c:
* ges/ges-source.c:
* ges/ges-source.h:
* ges/ges-uri-source.c:
* ges/ges-uri-source.h:
* ges/ges-video-uri-source.c:
uri-source: Respect stream-id even on streams muxed in raw
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-12 15:50:27 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-track.c:
audio-track: Respect track restrictions in our gaps
Avoiding not negotiated errors in specific cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/225>
2021-01-05 11:52:15 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launch: Ensure to add required ref to profiles from project
We were unreffing something we were not owning
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/224>
2020-11-02 22:18:24 +1100 Jan Schmidt <jan@centricular.com>
* tests/check/meson.build:
tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
This is the same fix that was applied in gst-plugins-good in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/603
and fixes the testsuite running in gst-build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/219>
2020-09-04 10:27:05 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher-kb.c:
* tools/ges-launcher-kb.h:
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/meson.build:
launch: Add an interactive mode where we can seek etc...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/209>
2020-11-04 18:47:28 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
meson: Enable some MSVC warnings for parity with GCC/Clang
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.
Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/220>
2020-10-30 00:30:52 +1100 Jan Schmidt <jan@centricular.com>
* ges/ges.c:
* tools/ges-launcher.c:
init: Fix initialisation crash
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>
2018-11-04 13:04:45 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* ges/meson.build:
* meson.build:
* pkgconfig/gst-editing-services-uninstalled.pc.in:
* pkgconfig/gst-editing-services.pc.in:
* pkgconfig/meson.build:
Meson: Use pkg-config generator
2020-10-18 16:08:36 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com>
* tools/ges-launcher.c:
* tools/utils.c:
* tools/utils.h:
utils.c: fix static build
Static build fails since version 1.17.1 and
https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/commit/1e488d4311420b5ca193155ad8ab05509c9a4a37
on:
FAILED: tools/ges-launch-1.0
/srv/storage/autobuild/run/instance-2/output-1/host/bin/arm-linux-gcc -o tools/ges-launch-1.0 tools/ges-launch-1.0.p/ges-validate.c.o tools/ges-launch-1.0.p/ges-launch.c.o tools/ges-launch-1.0.p/ges-launcher.c.o tools/ges-launch-1.0.p/utils.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,-Bsymbolic-functions -static -Wl,--start-group ges/libges-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgstreamer-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgobject-2.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libglib-2.0.a -pthread /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libpcre.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libffi.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgmodule-2.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgstbase-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgstvideo-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgstpbutils-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgstaudio-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libz.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgsttag-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgstcontroller-1.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgio-2.0.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmount.a /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libblkid.a -lm -Wl,--end-group
/srv/storage/autobuild/run/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /srv/storage/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libc.a(err.os): in function `warn':
err.c:(.text+0x1d8): multiple definition of `warn'; tools/ges-launch-1.0.p/utils.c.o:utils.c:(.text+0x9bc): first defined here
So rename warn function to ges_warn
Also prefix ok, print and printerr function by ges_ for consistancy and
run gst-indent on tools/ges-launcher.c
Fixes:
- http://autobuild.buildroot.org/results/2a528a1185644f5b23d26eb3f2b342e99aa1e493
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/216>
2020-10-18 20:11:33 +0200 Antonio Ospite <antonio.ospite@collabora.com>
* meson.build:
meson: actually check glib dependency version
Actually check the version constraint when looking for the glib
dependency.
The version check will make meson use the fallback dependency when the
one from the system is not recent enough, and eventually make the build
succeed even on some older systems like Ubuntu 16.04.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/212>
2020-10-16 13:17:04 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ges/ges-asset.c:
* meson.build:
meson: update glib minimum version to 2.56
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-03 23:32:23 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline-tree.c:
* ges/ges-timeline.c:
* ges/ges-uri-clip.c:
* tests/check/python/common.py:
* tests/check/python/test_assets.py:
* tests/check/python/test_timeline.py:
ges: Do not recreate auto-transitions when changing clip assets
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-08 11:39:10 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/meson.build:
ges: Fix a copy/paste mistake in meson file
Passed unnoticed because we built against GstValidate
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/119
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/211>
2020-09-03 21:15:16 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-transition.c:
* ges/ges-video-transition.h:
video-transition: Make smpte props children properties
And deprecate old style accessors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/207>
2020-09-08 17:30:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* .gitlab-ci.yml:
ci: include template from gst-ci master branch again
2020-09-08 16:59:02 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.18.0 ===
2020-09-08 00:09:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* .gitlab-ci.yml:
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
* meson.build:
Release 1.18.0
2020-09-04 10:43:05 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
* plugins/ges/gesdemux.c:
demux: Fixate documentation caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/210>
2020-08-22 00:57:06 +1000 Jan Schmidt <jan@centricular.com>
* tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected:
complex_effect_bin_desc: Regenerate expectation for compositor change
Part of: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/796
2020-08-20 21:09:31 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/meson.build:
tests: Fix running tests fully uninstalled
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/118
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/206>
=== release 1.17.90 ===
2020-08-20 16:16:01 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
* meson.build:
Release 1.17.90
2020-07-31 22:02:01 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-source.c:
ges:source: Handle missing elements in converters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-22 12:02:10 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-video-transition.c:
* tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected:
smart-mixer: Move the videoconvert to after the mixer
So that it tries to negotiate with alpha and the alpha channel is
dropped as late as possible in the pipeline.
The compositor is able to do video conversion internally in any case
so having a videoconvert before it is useless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-21 08:49:35 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-transition.c:
transition: Enhance name of the elements
Making it simpler to debug
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-20 17:32:39 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-source.c:
source: Handle missing elements in converter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-14 00:09:32 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-source.c:
video-source: Stop giving useless name to frame positioner
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-13 18:18:22 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-smart-video-mixer.h:
* ges/ges-utils.c:
* ges/ges-video-transition.c:
transition: Better document the way alpha is computed for transitions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-12 13:51:42 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-timeline.c:
* ges/ges-utils.c:
* tests/check/meson.build:
* tests/check/scenarios/check_keyframes_in_compositor_two_sources.validatetest:
* tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected:
smart-mixer: Use the new 'samples-selected' signal to handle queuing in aggregator pads
Since aggregator introduced queueing in its sinkpads the way we set
properties on the pads is incorrect as it doesn't take it into account.
This fixes the issue by using the newly introduced `samples-selected`
signal in aggregator to set the properties right before the compositing
is done.
Also require the compositor we use to be an aggregator.
And add a validate test for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-12 13:49:36 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
* ges/ges-validate.c:
ges:validate: Allow setting keyframes using the clips directly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-07-25 13:14:56 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-source.c:
ges-source: Ensure that we output stream with segments in time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-09 11:10:41 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Restrict the presence only if the user didn't explicitly provided one
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-08 15:47:55 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Add a simplified version of track selection signal
Most user do not need to select several tracks for a single
TrackElement and this signal is not binding friendly so
this is adding a simpler, more user and binding friendly version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-08 15:47:12 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-source.c:
uri-source: Respect user stream selection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-08 08:02:27 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-validate.c:
launch: Also print the position when disabling validate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-08 08:01:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* meson.build:
* tools/ges-launcher.c:
* tools/meson.build:
* tools/utils.c:
* tools/utils.h:
launch: Print more useful information to stdout
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-08 07:42:38 -0400 Thibault Saunier <tsaunier@igalia.com>
* meson_options.txt:
* tools/ges-launcher.c:
build: Add an option to disable examples
And make it yield as in other modules
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 18:21:22 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launcher: Re activate smart rendering support
Trying to get the best encoding profile for smart rendering when
the user didn't specify anything.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 18:16:13 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-enums.h:
* ges/ges-internal.h:
* ges/ges-pipeline.c:
* ges/ges-source.c:
* ges/ges-timeline-tree.c:
* ges/ges-timeline-tree.h:
* ges/ges-timeline.c:
* ges/ges-track.c:
* ges/ges-uri-source.c:
ges: Fix smart rendering
Smart rendering has been broken since, mostly forever, but some code
was there pretending it was supported... let's try to stop pretending.
We now keep track of the smart rendering state in the timeline, track
and sources to be able to:
* tell decodebin to stop plugging more (decoding elements) as soon as
downstream supports the format.
* avoid plugging converters after the source element when smart
rendering.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 18:00:39 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Pipe debug output to a file when discovering scenarios
Otherwise `gst-validate-launcher` can get veeery noisy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 17:59:49 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlesource.c:
nle: Minor debug enhancement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 17:58:16 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/clip.c:
tests: Mark audio identity as audio
Otherwise GES fallbacks to video...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-01-13 13:08:24 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-internal.h:
* ges/ges-pipeline.c:
* ges/ges-track.c:
pipeline: stop setting the track caps
Stop setting the track 'caps' property. The previous code could
overwrite a users own setting of the caps for video and audio caps.
Moreover, the 'caps' property is listed as construct only, and users
will likely expect it to stay the same after a track has been added to a
timeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 17:41:28 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launcher: Delay setting rendering setting to right before rendering
So that user settings have been applied to the timeline taking into
account any `validatetest` arguments
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 17:18:51 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-source.c:
* ges/ges-internal.h:
* ges/ges-source.c:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
source: Refactor the way we plug converter elements
Paving the way to skipping converters when rendering smartly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 17:02:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Do not name urisink as `urisink` as it is useless
And actually harmful in case you are debugging several pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 17:01:18 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Remove urisink from timeline instead of unrefing it
Doing what was suggested in the FIXME and avoiding to unref
something it while we do not actually own it ourself.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 16:52:06 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Discard encoding profiles that don't match any track
Otherwise we get a 'not linked' error and we should just help
the user as we can here.
If the user adds a new track, he should set a new encoding profile
anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-03 16:34:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-uri-source.c:
* ges/ges-audio-uri-source.h:
* ges/ges-uri-source.c:
* ges/ges-uri-source.h:
* ges/ges-video-uri-source.c:
* ges/ges-video-uri-source.h:
* ges/meson.build:
uri*source: Factor out common logic into a GESUriSource private data
The two classes are *very* close but have different hierarchy so this
introduces a new GESUriSource structure that is used as private
structure by both subclasses and makes most of the logic shared this
way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-06-24 11:11:11 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-uri-source.c:
* ges/ges-video-uri-source.c:
*uri-source: Call free from the object ->finalize not ->dispose
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-25 19:16:06 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
* meson_options.txt:
* tools/meson.build:
meson: install bash completion helper for ges-launch-1.0
Fixes #77
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/203>
2020-07-25 19:09:30 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
* meson_options.txt:
meson: add 'tools' and 'examples' options
To optionally disable build of those.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/203>
2020-07-24 07:43:05 +0530 AsociTon <asociton@outlook.com>
* ges/ges-base-xml-formatter.c:
* tests/check/python/test_assets.py:
Fix retrieving asset metadata on project reload.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/202>
2020-01-21 16:02:56 +0530 yatinmaan1@gmail.com <yatinmaan1@gmail.com>
* tests/check/python/test_clip.py:
tests: Add test for ges_clip_get_top_effect_index
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/201>
2020-07-14 10:20:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
* tests/check/ges/clip.c:
tests: clip: fix test_rate_effects_duration_limit
Fix this assertion:
g_value_copy: assertion 'g_value_type_compatible (G_VALUE_TYPE (src_value), G_VALUE_TYPE (dest_value))' failed
'tempo' is a float, not a double.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/199>
2020-07-10 08:16:10 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/meson.build:
build: Add version.h to the headers list
So it is properly installed and the gir contains the required information
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/75
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/197>
2020-07-09 21:42:50 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pitivi-formatter.h:
pitivi-formatter: Also skip the class
2020-07-08 17:33:07 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
* scripts/extract-release-date-from-doap-file.py:
meson: set release date from .doap file for releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/196>
2020-07-08 10:03:43 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-title-clip.h:
title: Make deprecated symbols visible API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/195>
2020-07-03 02:04:08 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.17.2 ===
2020-07-03 00:35:20 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
* meson.build:
Release 1.17.2
2020-06-23 16:11:59 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* docs/libs/GESTimeOverlayClip-children-props.md:
* docs/libs/GESTitleSource-children-props.md:
* docs/libs/GESVideoTestSource-children-props.md:
* docs/libs/GESVideoUriSource-children-props.md:
* ges/ges-track.c:
* plugins/nle/nleoperation.c:
docs: fix links
2020-06-23 00:05:13 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* docs/gst_plugins_cache.json:
plugins_cache: add base classes
2020-06-23 00:04:52 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* docs/meson.build:
meson: mark plugins cache target as always stale
2020-06-21 01:42:26 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* plugins/ges/gesbasebin.c:
* plugins/nle/nleobject.c:
docs: mark more types as plugin API
2020-06-19 22:56:41 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
doc: Stop documenting properties from parents
2020-06-22 12:34:20 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-smart-video-mixer.c:
smart-video-mixer: Don't call gst_ghost_pad_construct() anymore
It's deprecated, unneeded and doesn't do anything anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/192>
2020-06-20 00:28:31 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.17.1 ===
2020-06-19 19:25:56 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
* meson.build:
Release 1.17.1
2020-06-19 11:13:24 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip-asset.c:
* ges/ges-clip-asset.h:
* ges/ges-clip.c:
* ges/ges-enums.c:
* ges/ges-layer.c:
* ges/ges-marker-list.c:
* ges/ges-marker-list.h:
* ges/ges-meta-container.c:
* ges/ges-project.h:
* ges/ges-source-clip-asset.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline.c:
* ges/ges-track-element-asset.c:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.c:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-video-source.c:
ges: Add all missing Since markers from 1.16 onward
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/191>
2020-06-09 10:07:13 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: Do not try to update proxies when we are in a proxying loop
This is a regression introduced in
c12b84788d197c714ec32653e2b751079e377c46, this commit simply brings back
the previous behavior.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/113
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/185>
2020-06-09 00:03:57 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-effect-asset.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-gerror.h:
* ges/ges-internal.h:
* tests/check/meson.build:
* tests/check/scenarios/complex_effect_bin_desc.validatetest:
* tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected:
ges: Refactor the way we plug converters in effects
Stopping to do it at the bin description level but properly
plugging them where they are needed and cleanly ghosting the pads
where it makes most sense.
This introduces support for GES to request pads on the most upstream
element in case no static pad can be ghosted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/187>
2020-06-09 16:40:11 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structured-interface.c:
structured-interface: Add support for setting effects inpoint
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/187>
2020-06-09 16:35:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track-element.c:
* ges/ges-track-element.h:
track-element: Make set_has_internal_source return a boolean
Telling the user if it is legal to have an internal source in that
particular GESTrackElement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/187>
2020-06-15 13:09:39 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: doc: Add a note about trying to render before setting rendering settings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/189>
2020-06-15 12:23:26 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-uri-clip.c:
uri-clip: Add a warning about synchronous uri discovery
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/189>
2020-06-09 15:22:30 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
docs: Update plugins cache
2020-06-08 10:58:43 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
docs: Update plugins cache
2020-06-05 15:56:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
* tests/check/scenarios/edit_while_seeked_with_stop.validatetest:
* tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.check_clock_sync.validatetest:
* tests/check/scenarios/seek_with_stop.validatetest:
tests: enforce I420 format
Tests are assuming video is I420 with a specific chroma and colorimetry
but were not actually enforcing it.
Fixes needed as I420 will no longer be the first video format, see
gst-plugins-base!689
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/184>
2020-06-04 23:14:59 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* docs/gst_plugins_cache.json:
* ges/ges-track.c:
* plugins/nle/nlecomposition.c:
track, composition: mark stream id properties as DOC_SHOW_DEFAULT
and update plugins cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/182>
2020-06-03 18:30:39 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/meson.build:
doc: Require hotdoc >= 0.11.0
2020-05-27 16:03:35 +0300 Sebastian Dröge <sebastian@centricular.com>
* docs/gst_plugins_cache.json:
docs: Update gst_plugins_cache.json
2020-06-03 09:57:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
* ges/ges-base-effect.c:
* ges/ges-base-effect.h:
* ges/ges-clip.c:
* ges/ges-enums.h:
* ges/ges-gerror.h:
* ges/ges-layer.c:
* ges/ges-time-overlay-clip.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
* ges/ges-track.c:
add missing Since annotations on new API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/181>
2020-05-27 19:44:29 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pitivi-formatter.c:
formatter: Do not dereference NULL pointer
CID 1461701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/180>
2020-05-27 19:39:49 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
xml-formatter: Add an GST_ERROR when setting control sources fails
CID 1463853
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/180>
2020-05-26 19:14:53 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Wait for state change to consider commit as done
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/178>
2020-05-26 19:02:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Stop always muting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/178>
2020-05-21 17:22:18 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
formatter: Fix saving/loading project with clip speed rate control
We need to ensure that clips duration is set after time effects are
added and we now need to serialize effects inpoints and max duration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-21 15:42:23 +0100 Henry Wilkes <hwilkes@igalia.com>
* docs/design/time_notes.md:
docs: add some notes on Time in GES
These notes cover time coordinates in GES, time effects, time
translations.
It also goes into why keyframes will not work with non-linear time
effects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-21 11:25:30 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-uri-clip.c:
* tests/check/ges/asset.c:
uri-clip: don't assume duration needs to stay the same
ges_uri_clip_asset_get_duration does not tell us what the duration in
the timeline needs to be. Especially when we have time effects, or
effects with finite max-durations. So we should no longer expect the
duration to stay the same when replacing assets. Instead, we just check
that the new max-duration would be compatible with the current in-point
(which was not checked before), and the clip would not be totally
overlapped if its duration-limit changes.
This is based on the assumption that each source is replaced one-to-one
in its track. If a source is replaced with nothing in the same track,
this check may be a little too strong (but still mostly weaker than
before). However, problems could occur if track selection does
something unexpected, such as placing the new source in a track not
previously occupied.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-20 21:23:03 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: provide an example of using time effects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-20 21:20:10 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline-tree.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-xml-formatter.c:
* tests/check/ges/clip.c:
* tests/check/ges/project.c:
track-element: use out-point for updating control bindings
The out-point, which is an internal time, is used instead of the
duration for determining the control binding value at the end of the
element.
Also, allow the user to switch off the auto-clamping of control sources
if they are not desired. And allow them to clamp specific control sources
individually.
Also, fix a lot of memory leaks related to control sources. In
particular, releasing the extra ref gained by source in
g_object_get (binding, "control-source", &source, NULL);
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 18:09:50 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: test for layer in group
Make sure the layer exists before we try to remove the grouped clips
from it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 14:58:08 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-internal.h:
* ges/ges-timeline-tree.c:
* ges/ges-timeline.c:
timeline-tree: make sure the layer priority refers to an existing layer
If a layer priority sits between the priorities of two layers in the
timeline, i.e. it references a gap in the timeline's layers, then
ges_timeline_append_layer will never fill this gap and create the
desired layer, so the edit in timeline-tree would loop forever. So a
check was added to avoid this.
This would be a usage error, but a user can reasonably end up with a gap
in their layers if they remove a layer from the timeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 14:53:49 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
clip: add method for adding top effects
Unlike ges_container_add, this lets you set the index and will check
that track selection did not fail. This is useful for time effects whose
addition would create an unsupported timeline configuration.
Also can use the clip add error in ges_timeline_add_clip to let the user
know when adding a clip to a layer that its in-point is set larger than
the max-duration of its core children.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 14:47:15 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-enums.h:
* ges/ges-internal.h:
* ges/ges-timeline-tree.c:
* tests/check/python/test_timeline.py:
timeline-tree: take time effects into account when trimming
When trimming the start of a clip, we want to set the in-point of its
children such that whatever data was at the timeline time T still
remains at the timeline time T after the trim, where
T = MAX (prev_start, new_start)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 14:41:58 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* tests/check/ges/tempochange.c:
clip: use time translation for split
The new in-point should be the media position corresponding to the media
position. media_duration_factor is no longer needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-18 17:34:01 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: fix warning when getting duration-limit
The duration-limit case was missing a 'break;' statement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-12 18:18:09 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-timeline-element.c:
* tests/check/ges/clip.c:
clip: add methods to convert between time coordinates
Add methods to convert between the timeline time coordinates and the
internal time coordinates of a track element in a clip, taking time
effects into account.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 14:28:09 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect.c:
* ges/ges-base-effect.h:
* ges/ges-clip.c:
* ges/ges-effect.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
* tests/check/ges/clip.c:
effect: Add support for time effects
Allow the user to register a child property of a base effect as a time
property. This can be used by GES to correctly calculate the
duration-limit of a clip when it has time effects on it. The existing
ges_effect_class_register_rate_property is now used to automatically
register such time effects for rate effects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 14:25:01 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-gerror.h:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-layer.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline-tree.c:
* ges/ges-timeline-tree.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-track.h:
* tests/check/ges/clip.c:
* tests/check/ges/test-utils.h:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
errors: added edit errors
Added more errors to GES_ERROR for when edits fail (other than
programming or usage errors). Also promoted some GST messages if they
related to a usage error.
Also added explanation of timeline overlap rules in user docs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177>
2020-05-15 12:19:16 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/scenarios/seek_with_stop.validatetest:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-audiosink-sink-expected:
tests: Stop recording gaps in seek_with_stop
We have little control over those as they are generated by streamsynchronizer in a not reproducible way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-15 11:53:10 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/libs/GESTitleSource-children-props.md:
* docs/libs/GESVideoTestSource-children-props.md:
docs: Remove reference to deinterlacing props in title and video test source
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-15 18:33:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Fix setting ges properties
And fix typos.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-04-22 13:39:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/libs/GESTimeOverlayClip-children-props.md:
* docs/libs/document-children-props.py:
* docs/sitemap.txt:
* ges/ges-internal.h:
* ges/ges-source-clip.c:
* ges/ges-test-clip.c:
* ges/ges-test-clip.h:
* ges/ges-time-overlay-clip.c:
* ges/ges-time-overlay-clip.h:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-test-source.h:
* ges/ges.h:
* ges/meson.build:
* tests/check/ges/clip.c:
* tests/check/scenarios/check_edit_in_frames_with_framerate_mismatch.scenario:
* tests/check/scenarios/edit_while_seeked_with_stop.validatetest:
* tests/check/scenarios/seek_with_stop.check_clock_sync.validatetest:
* tests/check/scenarios/seek_with_stop.validatetest:
ges: Move TimeOverlayClip out of GESTestClip
This was complexifying the implementation for very little gain.
Each source type should ideally have its own API.
In that patch we make it so we do not have to subclass anything
but instead use GESAsset to pass information about how the pipeline
should look like.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-14 00:56:40 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Add stack initialization action after setting our state
Otherwise there is a pretty rare race where we get the
_initialize_stack_func executed leading to the stack set up and
the source pushing buffers before the composition source pad is
activated, and a STREAM_ERROR is reported as we end up pushing a
buffer to a flushing pad.
Thanks rr chaos mode for showing that improbable race
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-13 17:11:24 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-track.c:
timeline: No thread checking while disposing
While this is not correct, we can't predict from what thread a
GstElement will be disposed as it might still be referenced by
a GstMessage somewhere which is freed by, any thread.
In this specific case we can assume that GES user will already have
let go his timeline reference and we should not avoid assert in that
specific case as it should be safe to let the timeline be destroyed
at that point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-01 23:05:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nleobject.c:
nle: Use G_PARAM_DEPRECATED for media-duration-factor
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-18 08:49:53 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
ges: Ensure that assets are added to project before adding clip to timeline
It is the right ordering and in Pitivi we set the project size
when adding the first (relevant) asset, meaning that our code to
reposition clips would kick in (in the unit tests) if we do not respect
that ordering.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/176>
2020-05-13 12:11:32 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline-tree.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-uri-clip.c:
track-element: Add is_core method to API
Open up the method to the user, since they may need the information.
Also added more documentation on what a core track element is to a clip
and how they are treated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-05-01 12:40:58 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-project.c:
* tests/check/ges/asset.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/clip.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
asset: unref requested assets
Prevent a few memory leaks in the tests.
Also mark ges_project_save as transfer full for the formatter asset.
Also make sure that ges_project_request_sync is transfer full on the
returned asset.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/104
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-30 12:10:22 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-track-element.c:
* tests/check/ges/clip.c:
* tests/check/ges/test-utils.h:
clip: enforce duration-limit
Prevent setting of properties or that of children, if the clip would not
be able to set the corresponding duration if the duration-limit would
drop below the currently set duration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-30 12:01:52 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: make sure core child is active for non-core in same track
Each active non-core child must have a corresponding active core child
in the same track. Therefore, if we de-activate a core child, we also
need to de-activate all the non-core children in the same track.
Similarly, if we activate a non-core child, we need to activate the
corresponding core child as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-30 11:50:08 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: be more robust in handling priority
Make less assumptions about the priority of effects and core elements so
that the code would still work if the priority of an element was set
directly. In particular, the index of a top effect will always be its
position in the effect ordering.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-28 17:29:22 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-internal.h:
container: stop storing priority offset in child mapping
GESGroup no longer uses this, and GESClip can be made simpler without
it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-27 19:11:16 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* tests/check/ges/clip.c:
clip: preserve auto-transition in split
When splitting a clip, keep the auto-transition at the end of the clip
alive and move its source to that of the corresponding split track
element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-21 12:55:34 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: change order of split
We first change the duration of the splitted clip, then we add the new
clip to the layer and assign the tracks for its children. Normally, when
a clip is added to a layer it will have its track elements created, if
needed, and then assigned to their tracks. This will fail if any sources
would fully or triple overlap existing sources in the same track.
However, here we were adding the clip to the layer *and* avoiding the
track assignment process and instead setting the tracks explicitly. In
particular, the order was:
+ add new clip to layer with no tracks assigned
+ shrink the split clip
+ assign the tracks for the new clip
This has been changed to:
+ shrink the split clip
+ add new clip to layer with no tracks assigned
+ assign the tracks for the new clip
Thus, the order of events for any users connecting to object signals
will be close to that of adding another clip to the layer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-27 16:27:15 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-timeline.c:
timeline: create auto-transitions during track-element-added
Any time a track element is added to a track, we need to check whether
we need to create a new corresponding auto-transition. This simply moves
the code from ges-clip.c to ges-timeline.c, where it is more appropriate.
Moreover, it technically opens the possibility for creating
auto-transitions for track elements in the timeline that have no
corresponding clip.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-27 16:05:54 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline-tree.c:
* tests/check/python/test_timeline.py:
timeline-tree: also trim non-core track elements
Also trim the in-point of non-core children of clips to ensure that
their content will appear in the timeline at the same position.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-24 21:00:18 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
* tests/check/ges/basic.c:
timeline: make sure appended layer has lowest priority
Make sure that the priority of an appended layer is the lowest (highest
in value) when appending a layer to the timeline. This change is
important when appending a layer to a timeline, which can easily have a
gap in priorities if a layer has been removed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-23 17:34:52 +0100 Henry Wilkes <hwilkes@igalia.com>
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
tests: add tests for new editing behaviour
These tests expose some of the new editing behaviour in timeline
tree. In particular, we test:
+ edits for clips within groups within a group
+ that an edit can succeed if a snap allows it to
+ that snapping occurs at a specific point, and that we alternate
between one call to snapping-started and one call to snapping-ended
with corresponding values
+ that an edit can fail if a snap causes it to
+ no snapping is released when an edit fails
+ We tests for the expected changes, and otherwise check that the
configuration of the timeline has remained unchanged
+ The timeline configuration remains the same when an edit fails
+ That each clip overlap has a corresponding auto-transition
+ That particular auto-transitions are created when a new overlap is
formed
+ That particular auto-transitions are destroyed when an overlap ends
+ That auto-transitions are not replaced when two clips move but
maintain their overlap
+ That the timeline does not contain any unaccounted for clips
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-23 17:30:17 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-layer.c:
* ges/ges-timeline.c:
layer: don't set timeline when moving clip
If a clip is moving we should not unset its timeline when it is removed
from the layer. Logic has been moved to ges_timeline_add_clip and
ges_timeline_remove_clip.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-22 15:06:32 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-internal.h:
* ges/ges-timeline-tree.c:
* ges/ges-timeline.c:
timeline-tree: freeze auto-transitions whilst editing
Freeze the auto-tranistions so they do not destroy themselves during an
edit. Once complete the auto-transitions can move themselves back into
position, or remove themselves if their sources are no longer
overlapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-21 15:06:03 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-timeline-tree.c:
* ges/ges-timeline-tree.h:
clip: make auto-transitions less expensive when adding to track
Only check the overlaps with the actual track element that was just added
to the track. This reduces the tree traversal by one order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-21 14:05:55 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-layer.c:
* tests/check/ges/clip.c:
clip: remove children if failed to add to layer
If adding to a layer fails during ges_timeline_add_clip, any new children
that were created during this process should be removed from the clip to
put it back into its previous state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-21 11:36:58 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-group.c:
group: let timeline-tree handle layer priority
Since a group can only have its priority set whilst it is part of a
timeline, we can simply let the timeline-tree handle the move, which it
can already do, whilst checking that the move would be legal (not break
the timeline configuration). All the group has to do now if update its
priority value if the priority of any of its children changes. It
doesn't even need to keep track of the layer priority offsets.
Also, added a check to ensure added children belong to the same
timeline.
Also moved the sigids from the GObject data to a g_hash_table, which is
clearer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-20 14:56:55 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-group.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timeline-element: stop using edit vmethods
These were all redirecting to essentially ges_timeline_element_edit
anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-20 13:13:48 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-tree.c:
timeline-element: simplify check for being edited
It should be sufficient to set the edit flag only on the toplevel, which
allows all of its children to know they are being edited and should not
move in response.
Also, removed some unnecessary setting/checking of this.
Also, supplied the ges_timeline_element_peak_toplevel, which unlike
ges_timeline_element_get_toplevel_parent, does not add a reference to
the toplevel. Some corresponding leaks in auto-transition have been
fixed by using this instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-27 14:05:38 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
* tests/check/python/test_timeline.py:
timeline: emit snapping-started with new valid time
Only emit snapping-ended if we have a valid snap time. Moreover, we
should emit a new snapping-started even if we are snapping at the same
location. This is because a new snap will always correspond to a new edit,
possibly involving different snapping elements, which a user would want
to know about.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-27 13:58:38 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-tree.c:
* ges/ges-timeline-tree.h:
* ges/ges-timeline.c:
* ges/ges-track.c:
* tests/check/ges/layer.c:
* tests/check/ges/timelineedition.c:
* tests/check/python/test_timeline.py:
* tests/check/scenarios/check_edit_in_frames_with_framerate_mismatch.scenario:
timeline-tree: simplify and fix editing
Editing has been simplified by breaking down each edit into a
combination of three basic single-element edits: MOVE, TRIM_START, and
TRIM_END.
Each edit follows these steps:
+ Determine which elements are to be edited and under which basic mode
+ Determine which track elements will move as a result
+ Snap the edit position to one of the edges of the main edited element,
(or the edge of one of its descendants, in the case of MOVE), avoiding
moving elements.
NOTE: in particular, we can *not* snap to the edge of a neighbouring
element in a roll edit. This was previously possible, even though the
neighbour was moving!
+ Determine the edit positions for clips (or track elements with no
parent) using the snapped value. In addition, we replace any edits of
a group with an edit of its descendant clips. If any value would be
out of bounds (e.g. negative start) we do not edit.
NOTE: this is now done *after* checking the snapping. This allows the
edit to succeed if snapping would cause it to go from being invalid to
valid!
+ Determine whether the collection of edits would result in a valid
timeline-configuration which does not break the rules for sources
overlapping.
+ If all this succeeds, we emit snapping-started on the timeline.
+ We then perform all the edits. At this point they should all succeed.
The simplification/unification should make it easier to make other
changes.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/97
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/98
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-18 16:49:31 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-group.c:
* tests/check/ges/group.c:
group: fix priority setting
Stop moving the group if a child clip is being edited by timeline-tree,
a child group is updating its own priority, or a layer that a clip is in
has changed priority. A group should only move if a descendant moves
layers outside of a timeline-tree edit, or the priority of the group is
set by the user.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/89
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-18 16:34:56 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-internal.h:
container: keep start and duration up to date
Simplified keeping the start and the duration of a container/group up to
date with the earliest start of the children and the last end of the
children. The previous logic was spread between ges-group and
ges-container, now all the position handling is in ges-container.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-28 18:01:04 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-uri-clip.c:
uri-clip: use duration-limit in set_max_duration
Use the duration-limit rather than max-duration - in-point, since the
former will be able to take other factors, such as effects, into
account.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-04-13 17:42:22 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* tests/check/ges/clip.c:
* tests/check/ges/test-utils.h:
clip: add the duration-limit property
The duration-limit is the maximum duration that can be set for the clip
given its current children and their properties. If a change in the
children properties causes this to drop below the current duration, it
is automatically capped by this limit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/169>
2020-05-04 10:35:25 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
* ges/python/gesotioformatter.py:
ges: Output otio formatter loading issues in debug logs
Instead of spamming the terminal with a python traceback
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/107
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/173>
2020-05-05 23:03:36 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/scenarios/seek_with_stop.validatetest:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-audiosink-sink-expected:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected:
tests: Stop recording segment position in seek_with_stop
There are two valid timing in GstAggregator where the segment event
is pushed before GstAggregator sets its srcpad->segment.position in
gst_aggregator_pad_chain_internal. Segment.position is basically
a helper field for internal elements use so we should not require
a specific value here as we are not checking a particular element
behavior.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/106
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/174>
2020-05-02 01:24:18 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
test: Add support for .validatetest in the launcher app
2020-05-01 14:26:32 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
container: return TRUE if adding doesn't cause any errors
If `add_child` and `set_parent` succeed we want to return TRUE, even if
the added element is no longer a child by the end of the method. This is
because some users may call ges_container_remove during `child-added`.
This shouldn't be considered an error.
2020-04-30 17:44:33 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/scenarios/edit_while_seeked_with_stop.validatetest:
* tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.check_clock_sync.validatetest:
* tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.validatetest:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-audiosink-sink-expected:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected:
ges:tests: Fix the `ignore-fields` format in validatetests
They are needed as those are not 100% reproducible with GES.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/168>
2020-04-30 13:23:05 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesbasebin.c:
plugin: Fix a race removing tracks from timeline from the wrong thread
The case was that the timeline state was being changed from the parent
composition's action thread before the timeline was committed, leading
to the SELECT_STREAM event to be pushed from the track to the nested
timeline from the wrong composition thread.
```
**
GES:ERROR:../subprojects/gst-editing-services/ges/ges-track.c:1263:ges_track_remove_element: assertion failed: (track->priv->valid_thread == g_thread_self())
Bail out! GES:ERROR:../subprojects/gst-editing-services/ges/ges-track.c:1263:ges_track_remove_element: assertion failed: (track->priv->valid_thread == g_thread_self())
Thread 1 (Thread 0x7f6ec2d43700 (LWP 1228982)):
#0 0x00007f6ed85b2a25 in raise () at /lib64/libc.so.6
#1 0x00007f6ed859b895 in abort () at /lib64/libc.so.6
#2 0x00007f6ed899cb8c in g_assertion_message (domain=<optimized out>, file=0x7f6ed8d7fd58 "../subprojects/gst-editing-services/ges/ges-track.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../glib/gtestutils.c:2914
#3 0x00007f6ed89fa9ff in g_assertion_message_expr (domain=domain@entry=0x7f6ed8d76875 "GES", file=file@entry=0x7f6ed8d7fd58 "../subprojects/gst-editing-services/ges/ges-track.c", line=line@entry=1263, func=func@entry=0x7f6ed8d805b0 <__func__.6> "ges_track_remove_element", expr=expr@entry=0x7f6ed8d801e8 "track->priv->valid_thread == g_thread_self()") at ../glib/gtestutils.c:2940
#4 0x00007f6ed8d2658f in ges_track_remove_element (track=track@entry=0x7f6eb4119b20 [GESAudioTrack], object=object@entry=0x106f240 [GESAudioUriSource]) at ../subprojects/gst-editing-services/ges/ges-track.c:1263
#5 0x00007f6ed8d10842 in ges_clip_empty_from_track (clip=0x7f6e7803ee80 [GESUriClip], track=track@entry=0x7f6eb4119b20 [GESAudioTrack]) at ../subprojects/gst-editing-services/ges/ges-clip.c:1086
#6 0x00007f6ed8d01453 in ges_timeline_remove_track (timeline=timeline@entry=0x7f6e6c01ae50 [GESTimeline], track=0x7f6eb4119b20 [GESAudioTrack]) at ../subprojects/gst-editing-services/ges/ges-timeline.c:2460
#7 0x00007f6ed8d0286b in ges_timeline_send_event (element=<optimized out>, event=<optimized out>) at ../subprojects/gst-editing-services/ges/ges-timeline.c:484
#8 0x00007f6ed8bf466c in gst_element_send_event (element=0x7f6e6c01ae50 [GESTimeline], event=event@entry=0x7f6eb410f9f0) at ../subprojects/gstreamer/gst/gstelement.c:1934
#9 0x00007f6ed8d242cd in ges_track_handle_message (bin=0xd846f0 [GESVideoTrack], message=0x7f6eb411ac90) at ../subprojects/gst-editing-services/ges/ges-track.c:477
#10 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#11 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0xfdf440 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#12 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x10261d0 [NleComposition], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#13 0x00007f6ed8bccbee in gst_bin_post_message (element=0x10261d0 [NleComposition], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#14 0x00007f6ed8bf4b66 in gst_element_post_message (element=0x10261d0 [NleComposition], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#15 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#16 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0xfdf2c0 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#17 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x1029110 [GstBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#18 0x00007f6ed8bccbee in gst_bin_post_message (element=0x1029110 [GstBin], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#19 0x00007f6ed8bf4b66 in gst_element_post_message (element=0x1029110 [GstBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#20 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#21 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0xfdf500 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#22 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0xd705e0 [NleSource], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#23 0x00007f6ed8bccbee in gst_bin_post_message (element=0xd705e0 [NleSource], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#24 0x00007f6ed8bf4b66 in gst_element_post_message (element=0xd705e0 [NleSource], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#25 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#26 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0x1042400 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#27 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x1029450 [GstBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#28 0x00007f6ed8bccbee in gst_bin_post_message (element=0x1029450 [GstBin], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#29 0x00007f6ed8bf4b66 in gst_element_post_message (element=0x1029450 [GstBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#30 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#31 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0x1042640 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#32 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x7f6eb42fc7a0 [GstURIDecodeBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#33 0x00007f6ed8bccbee in gst_bin_post_message (element=0x7f6eb42fc7a0 [GstURIDecodeBin], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#34 0x00007f6ed8bf4b66 in gst_element_post_message (element=0x7f6eb42fc7a0 [GstURIDecodeBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#35 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#36 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0x7f6eb80a7130 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#37 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x7f6e6c02aa60 [GstDecodeBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#38 0x00007f6ed8bccbee in gst_bin_post_message (element=0x7f6e6c02aa60 [GstDecodeBin], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#39 0x00007f6ed8bf4b66 in gst_element_post_message (element=0x7f6e6c02aa60 [GstDecodeBin], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#40 0x00007f6ec8f1e00d in gst_decode_bin_handle_message (bin=0x7f6e6c02aa60 [GstDecodeBin], msg=<optimized out>) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:5667
#41 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#42 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0x7f6eb4139110 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#43 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x7f6e54038c70 [GESDemux], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#44 0x00007f6ed8bccbee in gst_bin_post_message (element=0x7f6e54038c70 [GESDemux], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#45 0x00007f6ed8bf4b66 in gst_element_post_message (element=0x7f6e54038c70 [GESDemux], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#46 0x00007f6ed8bc9128 in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../subprojects/gstreamer/gst/gstbin.c:3286
#47 0x00007f6ed8bdbae2 in gst_bus_post (bus=bus@entry=0x7f6eb4139350 [GstBus], message=message@entry=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstbus.c:359
#48 0x00007f6ed8bf1396 in gst_element_post_message_default (element=element@entry=0x7f6e6c01ae50 [GESTimeline], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2067
#49 0x00007f6ed8bccbee in gst_bin_post_message (element=0x7f6e6c01ae50 [GESTimeline], msg=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstmessage.h:376
#50 0x00007f6ed8bf4b66 in gst_element_post_message (element=element@entry=0x7f6e6c01ae50 [GESTimeline], message=0x7f6eb411ac90) at ../subprojects/gstreamer/gst/gstelement.c:2110
#51 0x00007f6ed8cfa221 in ges_timeline_change_state (element=0x7f6e6c01ae50 [GESTimeline], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gst-editing-services/ges/ges-timeline.c:450
#52 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0x7f6e6c01ae50 [GESTimeline], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#53 0x00007f6ed8bf6868 in gst_element_continue_state (element=element@entry=0x7f6e6c01ae50 [GESTimeline], ret=ret@entry=GST_STATE_CHANGE_SUCCESS) at ../subprojects/gstreamer/gst/gstelement.c:2741
#54 0x00007f6ed8bf5d67 in gst_element_change_state (element=element@entry=0x7f6e6c01ae50 [GESTimeline], transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3072
#55 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0x7f6e6c01ae50 [GESTimeline], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#56 0x00007f6ed8bd2129 in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_PAUSED, start_time=0, base_time=0, element=0x7f6e6c01ae50 [GESTimeline], bin=0x7f6e54038c70 [GESDemux]) at ../subprojects/gstreamer/gst/gstbin.c:2615
#57 gst_bin_change_state_func (element=0x7f6e54038c70 [GESDemux], transition=GST_STATE_CHANGE_PAUSED_TO_PAUSED) at ../subprojects/gstreamer/gst/gstbin.c:2957
#58 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0x7f6e54038c70 [GESDemux], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#59 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0x7f6e54038c70 [GESDemux], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#60 0x00007f6ed8bd2129 in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_READY, start_time=0, base_time=0, element=0x7f6e54038c70 [GESDemux], bin=0x7f6e6c02aa60 [GstDecodeBin]) at ../subprojects/gstreamer/gst/gstbin.c:2615
#61 gst_bin_change_state_func (element=0x7f6e6c02aa60 [GstDecodeBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstbin.c:2957
#62 0x00007f6ec8f1e84f in gst_decode_bin_change_state (element=0x7f6e6c02aa60 [GstDecodeBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:5482
#63 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0x7f6e6c02aa60 [GstDecodeBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#64 0x00007f6ed8bf6868 in gst_element_continue_state (element=element@entry=0x7f6e6c02aa60 [GstDecodeBin], ret=ret@entry=GST_STATE_CHANGE_SUCCESS) at ../subprojects/gstreamer/gst/gstelement.c:2741
#65 0x00007f6ed8bf5d67 in gst_element_change_state (element=element@entry=0x7f6e6c02aa60 [GstDecodeBin], transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3072
#66 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0x7f6e6c02aa60 [GstDecodeBin], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#67 0x00007f6ed8bf5ae8 in gst_element_sync_state_with_parent (element=0x7f6e6c02aa60 [GstDecodeBin]) at ../subprojects/gstreamer/gst/gstelement.c:2413
#68 0x00007f6ed89f17a0 in g_slist_foreach (list=<optimized out>, func=0x7f6ed8bf5a50 <gst_element_sync_state_with_parent>, user_data=user_data@entry=0x0) at ../glib/gslist.c:880
#69 0x00007f6ec8f37d45 in gst_uri_decode_bin_change_state (element=<optimized out>, transition=<optimized out>) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c:2869
#70 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0x7f6eb42fc7a0 [GstURIDecodeBin], transition=transition@entry=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#71 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0x7f6eb42fc7a0 [GstURIDecodeBin], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#72 0x00007f6ed8bd2129 in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_READY, start_time=0, base_time=0, element=0x7f6eb42fc7a0 [GstURIDecodeBin], bin=0x1029450 [GstBin]) at ../subprojects/gstreamer/gst/gstbin.c:2615
#73 gst_bin_change_state_func (element=0x1029450 [GstBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstbin.c:2957
#74 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0x1029450 [GstBin], transition=transition@entry=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#75 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0x1029450 [GstBin], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#76 0x00007f6ed8bd2129 in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_READY, start_time=0, base_time=0, element=0x1029450 [GstBin], bin=0xd705e0 [NleSource]) at ../subprojects/gstreamer/gst/gstbin.c:2615
#77 gst_bin_change_state_func (element=0xd705e0 [NleSource], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstbin.c:2957
#78 0x00007f6ec805533f in nle_object_change_state (element=0xd705e0 [NleSource], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gst-editing-services/plugins/nle/nleobject.c:748
#79 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0xd705e0 [NleSource], transition=transition@entry=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#80 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0xd705e0 [NleSource], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#81 0x00007f6ed8bd2129 in gst_bin_element_set_state (next=GST_STATE_PAUSED, current=GST_STATE_READY, start_time=0, base_time=0, element=0xd705e0 [NleSource], bin=0x1029110 [GstBin]) at ../subprojects/gstreamer/gst/gstbin.c:2615
#82 gst_bin_change_state_func (element=0x1029110 [GstBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstbin.c:2957
#83 0x00007f6ed8bf5d1e in gst_element_change_state (element=element@entry=0x1029110 [GstBin], transition=transition@entry=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#84 0x00007f6ed8bf6368 in gst_element_set_state_func (element=0x1029110 [GstBin], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#85 0x00007f6ed8bf5ae8 in gst_element_sync_state_with_parent (element=0x1029110 [GstBin]) at ../subprojects/gstreamer/gst/gstelement.c:2413
#86 0x00007f6ec8060356 in _activate_new_stack (toplevel_seek=<optimized out>, comp=0x10261d0 [NleComposition]) at ../subprojects/gst-editing-services/plugins/nle/nlecomposition.c:3117
#87 update_pipeline (comp=comp@entry=0x10261d0 [NleComposition], currenttime=<optimized out>, seqnum=<optimized out>, update_reason=update_reason@entry=COMP_UPDATE_STACK_INITIALIZE) at ../subprojects/gst-editing-services/plugins/nle/nlecomposition.c:3396
#88 0x00007f6ec80614f6 in _initialize_stack_func (comp=0x10261d0 [NleComposition], ucompo=0x108c800) at ../subprojects/gst-editing-services/plugins/nle/nlecomposition.c:732
#89 0x00007f6ed893788a in g_closure_invoke (closure=<optimized out>, return_value=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>) at ../gobject/gclosure.c:810
#90 0x00007f6ec805aaf6 in _execute_actions (comp=0x10261d0 [NleComposition]) at ../subprojects/gst-editing-services/plugins/nle/nlecomposition.c:412
#91 0x00007f6ed8c4c1cf in gst_task_func (task=0x7f6e6c01c290 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#92 0x00007f6ed89fc0f4 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
#93 0x00007f6ed89fb7f2 in g_thread_proxy (data=0x7f6eb0017800) at ../glib/gthread.c:807
#94 0x00007f6ed7e14432 in start_thread () at /lib64/libpthread.so.0
#95 0x00007f6ed86779d3 in clone () at /lib64/libc.so.6
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/167>
2020-04-14 10:22:09 +0100 Henry Wilkes <hwilkes@igalia.com>
* tests/check/nle/tempochange.c:
check: give nle_tempochange test more time
These test can take longer than most under valgrind, so give them a
little more time until they timeout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/160>
2020-04-13 11:40:55 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
* tests/check/ges/basic.c:
timeline: fix adding track when layers contains clips
Made sure that adding a new track only uses select-tracks-for-object for
core children to determine whether a track elements should be added to the
new track or not, and *not* any other track. In particular, there should
be *no* change in the existing tracks of the timeline when adding another
track. Moreover, a new track should not invoke the creation of track
elements for other tracks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/160>
2020-04-08 17:11:14 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-effect.c:
* ges/ges-track-element.c:
* plugins/nle/nleghostpad.c:
* plugins/nle/nleobject.c:
* plugins/nle/nleobject.h:
* plugins/nle/nleoperation.c:
* tests/check/ges/tempochange.c:
* tests/check/nle/tempochange.c:
nleobject: stop using media-duration-factor
The property had been deprecated and is unused.
This property is not needed. Any internal time effect that an nleoperation
wraps is itself responsible for converting seek/segment timestamps.
Previously, the ghostpads were performing a rate conversion after the
rate element had already done so, essentially doubling their effect on
seeks and segment times. This was always unnecessary, but went unnoticed
by the tempochange test because it was using an identity element rather
than an actual rate-changing element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/160>
2020-04-08 17:08:41 +0100 Henry Wilkes <hwilkes@igalia.com>
* plugins/nle/nlecomposition.c:
* plugins/nle/nleoperation.c:
* plugins/nle/nleoperation.h:
nleoperation: stop setting next_base_time
This property was unused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/160>
2020-04-21 16:22:31 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
* tests/check/meson.build:
* tests/check/scenarios/edit_while_seeked_with_stop.validatetest:
* tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.check_clock_sync.validatetest:
* tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected:
* tests/check/scenarios/seek_with_stop.validatetest:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-audiosink-sink-expected:
* tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected:
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
nlecomposition: Fix seeking with stop
And add some tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/166>
2020-04-24 17:15:16 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
launch: Add support for testfiles
Making it simpler to define a test in a single files, including the
configuration etc..
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/166>
2020-04-24 16:46:50 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
track: Do not commit ourselves automatically when changing state from wrong thread
The user is responsible to commit the timeline from the right thread
in that case and in the case of gesdemux, the loaded timeline is filling
gaps automatically when the project is set loaded.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/166>
2020-04-18 16:22:25 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
* meson.build:
macos: fix python's configure checks
2020-04-17 12:35:26 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-source.c:
* ges/ges-video-uri-source.c:
ges: Fix interlaced stream playback
Negotiation was failling as `videoflip` was not allowing not
progressive interlacing.
Also avoid adding a deinterlace element when it is useless.
2020-04-16 20:27:30 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/gstframepositioner.c:
* ges/gstframepositioner.h:
* meson.build:
* tests/check/scenarios/check_video_track_restriction_scale.scenario:
framepositioner: Fix some source repositionning rounding issues
Avoid loosing (too much) precision when rescaling back and forth by
storing values in gdoubles.
Handle the fact that position values can be negative
Also fix debug category static variable
as it clashes with the instance variable name in a few methods.
2020-04-16 12:53:00 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip-asset.c:
* ges/ges-timeline.c:
timeline: Fix wrong usage of scale_int
We are multiplying the framerate by GST_SECOND and thus have no
guarantee that it won't overflow.
2020-04-11 11:40:06 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-image-source.c:
* ges/ges-video-uri-source.c:
ges: Place imagefreeze at right place
Negotiation fails when having the imagefreeze after videorate and
frame positioning won't happen after seeks if we do not put it
before the postioner
2020-04-09 11:24:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
* ges/ges-timeline.c:
asset: Avoid dereferencing NULL pointer
CID 1461286
2020-04-09 11:20:34 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesbasebin.c:
basebin: Do not set stream_group if upstream didn't provide it
CID: 1461278
2020-04-09 11:17:59 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/gstframepositioner.c:
framepositionner: Fix wrong old size check condition
CID: 1461277
2020-04-09 11:16:34 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Avoid dereferencing NULL pointer
CID: 1461266
2020-04-09 11:10:43 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Ensure setting framerate in timeline_get_framerate
CID: 1461250, 1461288
2020-04-09 11:07:04 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/nle/complex.c:
tests: Check that linking pads works
CID: 1456061
2020-04-09 11:02:26 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
structured-interface: Properly check that setting keyframe works
Fixes CID: 1455490
2020-04-09 10:59:40 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Check result of g_stat
CID: 1455489, 1455521
2020-04-09 10:54:26 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/tempochange.c:
test: tempochange: Plug leak
CID: 1455448
2020-04-09 10:42:03 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
ges: Cast to signed int to compare agasint 0
The check made sense but we were not casting to be able to check
signess of subtraction result.
CID: 1444923
2020-04-09 10:37:20 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Do not compare unsigned with 0
Layer priorities are always positive the check was making no
sense in any case.
Fixes CID: 1444922, 1461284
2020-04-09 10:31:36 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-pitivi-formatter.c:
* plugins/ges/gesdemux.c:
* tests/check/ges/clip.c:
ges: Always check return value of `ges_container_add`
Making coverity happy
CIDs: 1461460, 1461461, 1461462, 1461463, 1461464, 1461465, 1461466, 1461468,
2020-04-09 10:00:43 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-test-source.c:
ges: Fix sending EOS on testclip when using timeoverlay
Basically when using timeoverlay we where waiting for input-selector
to receive EOS on its active on the output-selector streaming thread
but... EOS was being sent from that same thread waiting for input-selector
to unblock to send EOS on its other pad.
In our specific use case we want EOS to be sent only on the active pad.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/103
2020-04-09 09:29:17 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/deprecated.md:
* docs/libs/GESAudioTestSource-children-props.md:
* docs/libs/GESAudioUriSource-children-props.md:
* docs/libs/GESTitleSource-children-props.md:
* docs/libs/GESTransitionClip-children-props.md:
* docs/libs/GESVideoTestSource-children-props.md:
* docs/libs/GESVideoUriSource-children-props.md:
* docs/libs/document-children-props.py:
* docs/sitemap.txt:
* ges/ges-audio-test-source.h:
* ges/ges-audio-uri-source.h:
* ges/ges-effect-asset.c:
* ges/ges-source-clip-asset.c:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
* ges/ges-transition-clip.h:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-test-source.h:
* ges/ges-video-uri-source.h:
ges: Update documentation
And start generating TrackElement children property with a stupid
simple script
2020-04-09 09:24:12 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-test-source.c:
ges: Add the foreground color child property
2020-04-07 10:53:15 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* tests/check/python/test_assets.py:
ges: Fix reloading UriClipAsset synchronously
And add tests for that
2020-04-07 10:47:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-internal.h:
* ges/ges-track-element.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-asset.c:
* tests/check/python/test_clip.py:
ges: Rework the way we ensure core elements are not wrongly moved between clips
Instead of focusing on the instances of the clips and their children,
we relax the check to allow moving track element clip between clips
that share a common asset. This makes it as correct conceptually but
more flexible, and the code becomes simpler.
2020-04-02 11:58:18 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-timeline.c:
group: tidied timeline membership in copy-paste
Previously, the GESContainer ->paste method and GESGroup ->paste methods
were unnecessarily setting the timeline of groups, even though this is
handled by the GESGroup ->child_added method. This could result in the
group being added multiple times.
2020-04-01 21:34:48 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline-tree.c:
* tests/check/python/test_timeline.py:
timeline-tree: fix overlap check
Previously, the code was not able to detect that an element overlaps on
its end, nor could it detect that an element overlaps two elements that
already overlap.
2020-04-06 12:44:30 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: tidy grouping
Make the grouping of clips cleaner by checking that the clips share the
same asset.
2020-04-06 12:42:03 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-layer.c:
clip: secure adding clip to layer
Add more checks when adding a clip to a layer, or moving a clip to a new
layer. Also, mark the "layer" property as explicit-notify.
2020-04-06 12:28:13 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-uri-clip.c:
uri-clip: match children by track
When the asset of a uri clip is reset, its core children are removed and
replaced by the new core children. When replacing, the `set_asset`
method attempts to copy children properties from the previous children
to the new children. However, the children were matched by track-type
only. This would not function as intended when a URI contains multiple
audio or video streams. Instead, we now match children by the tracks
themselves. This should work better, provided the user's
select-tracks-for-object is well behaved.
Also, fix a memory problem in `set_mute` for when a child is not in a
track.
2020-04-06 12:26:11 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline-element.c:
* ges/ges-track-element.c:
timeline-element: only copy read-write properties
Only copy the properties that can be both read and written, and are not
construct only. Similarly for child properties when a track-element is
deep copied.
2020-04-06 12:17:43 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
timeline: return sunk element on pasting
Technically, an element can still be floating on the return from
`->paste` (e.g. a clip not in a layer). Since the return of the `_paste`
methods are (return full) a non-floating object is probably expected in
all cases.
2020-04-06 12:16:11 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
* tests/check/ges/basic.c:
auto-transition: select track directly
By-pass the select-tracks-for-object signal for auto-transitions since
their track element must land in the same track as the elements it is
the auto-transition for.
2020-04-06 12:09:54 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/test-utils.h:
timeline: re-handle clip children track selection
The way a clip's track elements are added to tracks was re-handled. This
doesn't affect the normal usage of a simple audio-video timeline, where
the tracks are added before any clips, but usage for multi-track
timelines has improved. The main changes are:
+ We can now handle a track being selected for more than one track,
including a full copy of their children properties and bindings.
(Previously broken.)
+ When a clip is split, we copy the new elements directly into the same
track, avoiding select-tracks-for-object.
+ When a clip is grouped or ungrouped, we avoid moving the elements to
or from tracks.
+ Added API to allow users to copy the core elements of a clip directly
into a track, complementing select-tracks-for-object.
+ Enforced the rule that a clip can only contain one core child in a
track, and all the non-core children must be added to tracks that
already contains a core child. This extends the previous condition
that two sources from the same clip should not be added to the same
track.
+ Made ges_track_add_element check that the newly added track element
does not break the configuration rules of the timeline.
+ When adding a track to a timeline, we only use
select-tracks-for-object to check whether track elements should be
added to the new track, not existing ones.
+ When removing a track from a timeline, we empty it of all the track
elements that are controlled by a clip. Thus, we ensure that a clip
only contains elements that are in the tracks of the same timeline, or
no track. Similarly, when removing a clip from a timeline.
+ We can now avoid unsupported timeline configurations when a layer is
added to a timeline, and already contains clips.
+ We can now avoid unsupported timeline configurations when a track is
added to a timeline, and the timeline already contains clips.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/84
2020-03-26 09:21:42 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
timeline: stop connecting to track-element-added
This was used to connect to the track element's notify::start signal in
order to update the duration of the timeline (it is not clear why the
notify::duration signal was not also connected to for the same reason).
However, this is already covered by the timeline_tree_move method, which
is always called to update the start of a track element, even if it is not
part of a clip (and similarly for timeline_tree_trim, which is called
when the duration is set).
2020-03-25 19:35:11 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-uri-clip.c:
* tests/check/ges/clip.c:
clip: allow arbitrary max-duration when no core children
Before the max-duration could be set arbitrarily when the clip was empty,
to indicate what the max-duration would be once the core children were
created. Now, we can also do this whilst the clip only contains non-core
children.
2020-03-25 18:49:16 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* tests/check/python/test_clip.py:
track-element: change owner to creator
Rename the private "owners" to "creators" to avoid confusing this with
the owner of the track element's memory.
Also made the ungroup method for GESClip symmetric by making all the
children of the resulting clips share their creators, which allows them
to be added to any of the other ungrouped clips. Once the clips are
grouped back together, the tracks loose these extra creators.
2020-04-06 12:21:54 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* tests/check/ges/clip.c:
container: change ownership when adding
Make sure we sink the child on adding, and keep it alive until the end
in case the method fails.
Also, since the child mappings hold a ref to the child, they should give
them up in their free method. This way, the ref will be given up on
disposing, even if ges_container_remove fails.
Also, reverse setting of the start of the container if adding fails.
2020-04-06 23:06:29 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ges/ges-uri-clip.c:
* ges/ges-video-source.c:
ges: Fix build with GCC 10
gcc-10 defaults to -fno-common, which exposes a symbol conflict, so
use `static` correctly. Also we don't use `parent_extractable_iface`
in `ges-uri-clip.c`.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678
2020-03-31 11:25:49 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-container.c:
* tests/check/python/test_timeline.py:
ges: Fix trimming clip inside deeply nested groups
This broke in 6b7c658b6a551a5b9170987ba44592d1d819e1ae
2020-03-24 22:47:01 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-clip.c:
uri-clip: Remove dead code
GES_TESTING_ASSETS_DIRECTORY is prehistoric and since then
new mechanism for asset relocation have been added, it makes
no sense to keep that unused code path
2020-03-24 22:44:07 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-clip.c:
uri-clip: Remove ->create_track_element implementation
It is dead code
2020-03-24 22:35:35 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-image-source.c:
* ges/ges-multi-file-source.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-video-source.c:
* ges/ges-video-source.h:
* ges/ges-video-uri-source.c:
* tests/check/ges/uriclip.c:
* tests/check/python/test_clip.py:
ges: Deprecate GESImageSource and GESMultiFileSource
Refactoring GESVideoSource so that #GESUriVideoSource can handle
still image in a simple way
MultiFileSource has been replaced with the new `imagesequencesrc`
element, this was totally broken anyway as `multifilesrc` can not seek
properly.
2020-03-24 22:30:38 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-uri-source.c:
* ges/ges-track-element.c:
* ges/ges-video-source.c:
* ges/ges-video-uri-source.c:
track-element: Create nleobject on GESExtractable::set_asset
This means that we have all the information about the asset
when constructing the underlying GstElements.
This also allows to cleanup some code all around
2020-03-24 22:25:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
timeline:element: Refactor the way we 'copy'
Simplifying the implementation and making sure assets are set asap
2020-03-24 22:23:16 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-source.c:
* ges/ges-audio-test-source.c:
* ges/ges-audio-transition.c:
* ges/ges-audio-transition.h:
* ges/ges-effect-clip.c:
* ges/ges-group.c:
* ges/ges-text-overlay.c:
* ges/ges-text-overlay.h:
* ges/ges-title-source.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-transition.c:
* ges/ges-video-transition.h:
ges: Use assets to instantiate track elements/group
And deprecate all GESTrackElement constructors, but the GESEffect one.
Those should **never** be created by users and should become internal
in the future.
Stop having docstring for the constructors that were internal.
2020-03-18 16:24:08 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/assets/audio_only.ogg:
* tests/check/assets/audio_video.ogg:
* tests/check/assets/image.png:
* tests/check/assets/test-auto-transition.xges:
* tests/check/assets/test-project.xges:
* tests/check/assets/test-properties.xges:
* tests/check/ges/test-utils.c:
* tests/check/meson.build:
* tests/check/python/test_clip.py:
tests: Cleanup test files handling
2020-03-13 15:03:17 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-layer.h:
* ges/ges-xml-formatter.c:
formatter: Serialize source properties
This way we ensure that the TrackElement 'active' property is
properly serialized
2020-03-06 18:56:52 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-layer.h:
* ges/ges-timeline-tree.c:
* ges/ges-timeline-tree.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-validate.c:
* ges/ges-xml-formatter.c:
* tests/check/meson.build:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
* tests/check/scenarios/check_layer_activness_gaps.scenario:
ges: Add a way to set layer activeness by track
a.k.a muting layers.
Adding unit tests and making sure serialization works properly
2020-03-23 21:21:10 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
element: Add API safe guard against invalid position in edit()
2020-03-23 21:11:45 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Refactor actions implementation
Making them simpler to read and avoiding leaks
2020-03-23 15:14:13 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
structured-interface: Fix adding clip to layer error reporting
2020-03-17 11:53:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip-asset.c:
* ges/ges-source-clip-asset.c:
* ges/ges-source-clip-asset.h:
* ges/ges-source-clip.c:
* ges/ges-test-clip.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/meson.build:
ges: Add a SourceClipAsset class
Cleaning up the way we use the default framerate for natural
frame rate.
2020-03-10 16:10:12 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
launch: Add a way to disable validate at runtime
Also avoid to add useless bin in our sinks
2020-03-09 15:38:58 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
* ges/ges-timeline.c:
* ges/ges-uri-asset.c:
* ges/ges-validate.c:
* tests/check/meson.build:
* tools/ges-launch.c:
* tools/ges-launcher.c:
* tools/ges-validate.c:
ges: Plug some leaks
2020-02-28 11:56:22 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
* tests/check/scenarios/check_edit_in_frames_with_framerate_mismatch.scenario:
validate: Add support to seek in frames
2020-02-28 11:47:25 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-extractable.c:
* ges/ges-extractable.h:
* ges/ges-internal.h:
* ges/ges-structure-parser.c:
* ges/ges-test-clip.c:
* ges/ges-video-test-source.c:
* tests/check/python/test_timeline.py:
ges: support test clips assets natural size/framerate
This way we can test this kind of behaviour without requiring
real sources.
Also add simple tests.
2020-02-21 09:17:11 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip-asset.c:
* ges/ges-clip-asset.h:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-command-line-formatter.c:
* ges/ges-gerror.h:
* ges/ges-internal.h:
* ges/ges-structured-interface.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-types.h:
* ges/ges-utils.c:
* ges/ges-validate.c:
* tests/check/meson.build:
* tests/check/scenarios/check_edit_in_frames.scenario:
* tests/check/scenarios/check_edit_in_frames_with_framerate_mismatch.scenario:
ges: Add APIs to have a sens of frame numbers
APIs:
- ges_timeline_get_frame_time
- ges_timeline_get_frame_at
- ges_clip_asset_get_frame_time
- ges_clip_get_timeline_time_from_source_frame
Extracting ges_util_structure_get_clocktime to internal utilities adding
support for specifying timing values in frames with the special
f<frame-number> synthax.
2019-10-29 16:52:52 +0000 Henry Wilkes <hwilkes@igalia.com>
* tools/utils.c:
utils: fix argument sanitization
_sanitize_argument is supposed to wrap arguments in '"' quote marks such
that they can be parsed and copied into a GstStructure string. This
purpose is now supported more directly, which fixes some bugs, e.g.:
arguments before fix
+title my=title +title my="title" +title "my=title"
+title abc n=my=name +title abc n="my="name" +title abc n="my=name"
+title my"title +title "my"title" +title "my\"title"
+title my\title +title "my\title" +title "my\\title"
2020-02-28 11:52:38 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/utils.c:
launch: Fix memory management issue with the rendering format
2020-02-25 17:42:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Rename edit-container to edit
Keeping the old version for backward compat
2020-02-21 17:17:10 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-source.c:
* ges/ges-video-test-source.c:
ges: Add a timeoverlay to video test sources
This is often very useful to have a timeoverlay inside test sources.
We do not want to use it as an effect as segments are not the sames
in GES when it comes to nleoperations.
2020-02-25 18:39:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
element: Handle using own property as child property
Avoiding ref cycles
2020-02-21 17:16:01 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
ges: Ensure GESClips assets are always ClipAssets
2020-02-18 15:21:38 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-uri-source.c:
* ges/ges-clip-asset.c:
* ges/ges-clip-asset.h:
* ges/ges-clip.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element-asset.c:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.c:
* ges/ges-uri-asset.c:
* ges/ges-video-uri-source.c:
ges: Add API to retrieve the natural framerate of an element
2020-02-28 17:53:55 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
ges: Some memory management fixes setting track mixing
Also fix 'mixing' property notifies
2020-02-28 17:50:05 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-enums.c:
ges: Cleanup GESEdge and GESEditMode GEnum values
By duplicating the registered values, so that bindings have
better values to use
2020-03-02 14:35:33 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launch: Make command line provided sinks override scenario defined ones
2020-02-28 11:58:30 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/gstframepositioner.c:
framepositioner: Avoid dereferencing NULL pointer
2020-03-04 16:03:30 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Initialize GValue before calling g_object_get_value
This is required with GLib < 2.60
2020-03-17 18:13:51 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.h:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.h:
* ges/ges-audio-track.h:
* ges/ges-audio-transition.h:
* ges/ges-audio-uri-source.h:
* ges/ges-auto-transition.h:
* ges/ges-base-effect-clip.h:
* ges/ges-base-effect.h:
* ges/ges-base-transition-clip.h:
* ges/ges-base-xml-formatter.h:
* ges/ges-clip-asset.h:
* ges/ges-clip.h:
* ges/ges-command-line-formatter.h:
* ges/ges-container.h:
* ges/ges-effect-asset.h:
* ges/ges-effect-clip.h:
* ges/ges-effect.h:
* ges/ges-enums.h:
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-gerror.h:
* ges/ges-group.h:
* ges/ges-image-source.h:
* ges/ges-internal.h:
* ges/ges-layer.h:
* ges/ges-marker-list.h:
* ges/ges-meta-container.h:
* ges/ges-multi-file-source.h:
* ges/ges-operation-clip.h:
* ges/ges-operation.h:
* ges/ges-overlay-clip.h:
* ges/ges-pipeline.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-prelude.h:
* ges/ges-project.h:
* ges/ges-screenshot.h:
* ges/ges-smart-adder.h:
* ges/ges-smart-video-mixer.h:
* ges/ges-source-clip.h:
* ges/ges-source.h:
* ges/ges-structure-parser.h:
* ges/ges-structured-interface.h:
* ges/ges-test-clip.h:
* ges/ges-text-overlay-clip.h:
* ges/ges-text-overlay.h:
* ges/ges-timeline-element.h:
* ges/ges-timeline-tree.h:
* ges/ges-timeline.h:
* ges/ges-title-clip.h:
* ges/ges-title-source.h:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.h:
* ges/ges-track.h:
* ges/ges-transition-clip.h:
* ges/ges-transition.h:
* ges/ges-types.h:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.h:
* ges/ges-utils.h:
* ges/ges-version.h.in:
* ges/ges-video-source.h:
* ges/ges-video-test-source.h:
* ges/ges-video-track.h:
* ges/ges-video-transition.h:
* ges/ges-video-uri-source.h:
* ges/ges-xml-formatter.h:
* ges/ges.h:
* plugins/ges/gesbasebin.h:
* tests/check/ges/test-utils.h:
* tools/ges-launcher.h:
* tools/ges-validate.h:
ges: Use #pragma once everywhere
2020-03-17 15:51:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.h:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.h:
* ges/ges-audio-track.h:
* ges/ges-audio-transition.h:
* ges/ges-audio-uri-source.h:
* ges/ges-auto-transition.h:
* ges/ges-base-effect-clip.h:
* ges/ges-base-effect.h:
* ges/ges-base-transition-clip.h:
* ges/ges-base-xml-formatter.h:
* ges/ges-clip-asset.h:
* ges/ges-clip.h:
* ges/ges-command-line-formatter.h:
* ges/ges-container.h:
* ges/ges-effect-asset.h:
* ges/ges-effect-clip.h:
* ges/ges-effect.h:
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-group.h:
* ges/ges-image-source.h:
* ges/ges-internal.h:
* ges/ges-layer.h:
* ges/ges-meta-container.h:
* ges/ges-multi-file-source.h:
* ges/ges-operation-clip.h:
* ges/ges-operation.c:
* ges/ges-operation.h:
* ges/ges-overlay-clip.h:
* ges/ges-pipeline.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-project.h:
* ges/ges-smart-video-mixer.c:
* ges/ges-source-clip.h:
* ges/ges-source.h:
* ges/ges-test-clip.h:
* ges/ges-text-overlay-clip.h:
* ges/ges-text-overlay.h:
* ges/ges-timeline-element.h:
* ges/ges-timeline.h:
* ges/ges-title-clip.h:
* ges/ges-title-source.h:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.h:
* ges/ges-track.h:
* ges/ges-transition-clip.h:
* ges/ges-transition.c:
* ges/ges-transition.h:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.h:
* ges/ges-video-source.h:
* ges/ges-video-test-source.h:
* ges/ges-video-track.h:
* ges/ges-video-transition.h:
* ges/ges-video-uri-source.h:
* ges/ges-xml-formatter.h:
* tools/ges-launcher.h:
ges: Cleanup the way we declare object types
We create our own _DECLARE_ macro because we have instance structures
2020-03-19 09:15:07 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
ges: Stop using hash_table_steal_extended
This appeard in GLib 2.58
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/99
2020-03-18 13:36:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-uri-clip.c:
* tests/check/assets/30frames.ogv:
* tests/check/ges/clip.c:
* tests/check/python/test_clip.py:
clip: Allow setting max-duration clips without TrackElements
Otherwise this breaks quite a few assumption in user code, several
pitivi tests broke because of that.
2020-03-18 12:56:06 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* tests/check/assets/30frames.ogv:
* tests/check/python/test_clip.py:
ges: Make it so core elements can be re added to their 'owners'
The user might want to add/remove/add core children to clips and be able
to regroup ungrouped clip. This is needed for undo/redo in Pitivi for
example
2020-03-18 11:12:55 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-container.c:
container: Let subclass know adding child was interrupted
When the `child-added` signal emission was called, the
`GESContainer->child_added` vmethod was called (the signal is
`G_SIGNAL_RUN_FIRST`) so we need to call `GESContainer->child_removed`
ourself so subclasses know they do not control the child anymore.
2020-03-10 16:01:02 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
timeline-element: make start and duration EXPLICIT_NOTIFY
The properties will only have their signal emitted when they change in
value, even when g_object_set, etc, methods are used.
The _set_start method already did this, but start was missing the
EXPLICIT_NOTIFY flag. There should be no need to check that the property
has changed in ->set_start or ->set_duration
2020-03-10 15:27:20 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-track-element.c:
* tests/check/ges/clip.c:
timeline-element: make max-duration cap in-point
Do not allow the in-point to exceed the max-duration of any timeline
element.
2020-03-10 11:53:09 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: only allow children with the same timeline
Refuse the addition of children whose timeline is neither NULL nor the
clip's timeline.
2020-03-10 11:38:58 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-clip.c:
* tests/check/ges/clip.c:
* tests/check/ges/overlays.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
clip: re-handle child in-point and max-duration
The in-point of a clip is kept in sync with its core children, unless they
have no has-internal-source.
The max-duration is defined as the minimum max-duration amongst the
clip's core children. If it is set to a new value, this sets the
max-duration of its core children to the same value if they have
has-internal-source set as TRUE.
Non-core children (such as effects on a source clip) do not influence
these values.
As part of this, we no longer track in-point in GESContainer. Unlike start
and duration, the in-point of a timeline element does not refer to its
extent in the timeline. As such, it has little meaning for most
collections of timeline-elements, in particular GESGroups. As such, there
is no generic way to relate the in-point of a container to its children.
2020-03-10 11:35:23 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-group.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timeline-element: make in-point and max-duration EXPLICIT_NOTIFY
As such, they only emit a signal if their value changes, either through
their _set_inpoint or _set_max_duration methods, or through
g_object_set, etc.
Also, we now require the ->set_max_duration method to be implemented.
This was added to GESGroup, which will only allow the max-duration to be
set to GST_CLOCK_TIME_NONE.
2020-03-10 11:29:40 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-image-source.c:
* ges/ges-source.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
track-element: add has-internal-source property
Unless this property is set to TRUE, the in-point must be 0 and the
max-duration must be GST_CLOCK_TIME_NONE.
Also added EXPLICIT_NOTIFY flags to the active and track-type
properties such that their notifies are emitted only if the property
changes, even when the g_object_set, etc, methods are used.
Also added a missing notify signal to the set_active method.
2020-03-03 18:00:51 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: copy and paste control bindings
Previously the control bindings were not properly copied into the pasted
clip. Also changed the order so that elements are added to the clip
before the clip is added to the timeline.
2020-03-03 14:31:10 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* tests/check/ges/clip.c:
* tests/check/ges/group.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
timeline-element: add signals for child properties
Add the child-property-added and child-property-removed signals to
GESTimelineElement.
GESContainer is able to use this to keep their child properties in sync
with their children: if they are added or removed from the child, they
are also added or removed from the container.
2020-03-02 12:23:07 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-group.c:
* tests/check/ges/clip.c:
container: freeze notifies during add and remove
Hold the notify signals for the container and the children until after
the child has been fully added or removed.
After the previous commit, this was used to ensure that the
notify::priority signal was sent for children of a clip *after* the
child-removed signal. This stopped being the case when the code in
->child_removed was moved to ->remove_child (the latter is called before
the child-removed signal is emitted, whilst the former is called
afterwards). Rather than undo this move of code, which was necessary to
ensure that ->add_child was always reversed, the notify::priority signal
is now simply delayed until after removing the child has completed. This
was done for all notify signals, as well as in the add method, to ensure
consistency.
This allows the test_clips.py test_signal_order_when_removing_effect to
pass.
Also make subclasses take a copy of the list of the children before
setting the start and duration, since this can potentially re-order the
children (if they have the SET_SIMPLE flag set).
2020-03-02 13:35:20 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: make remove_child a reverse of add_child
Previously, we relied on ->child_removed to reverse the priority changes
that occured in ->add_child. However, ->child_removed is not always
called (the signal child-removed is not always emitted) when a
->add_child needs to be removed. However, ->remove_child is always
called to reverse ->add_child, so the code was moved here. Otherwise, we
risk that the priorities of the clip will contain gaps, which will cause
problems when another child is added to the clip.
2020-03-02 13:25:21 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: tidy handling of child priorities
Handle the child priorities in a way that keeps the container children
list sorted by priority at all times. Also, no longer rely on the
control_mode of the container, since we have less control over its value,
compared to private variables.
Also fixed the changing of priorities in set_top_effect_index:
previously *all* children whose priority was above or below the new
priority were shifted, when we should have been only shifting priorities
for the children whose priority lied *between* the old and the new
priority of the effect. E.g.
effect: A B C D E F
index: 0 1 2 3 4 5
After moving effect E to index 1, previously, we would get
effect: A B C D E F
index: 0 2 3 4 1 6
(this would have also shifted the priority for the core children as
well!). Whereas now, we have the correct:
effect: A B C D E F
index: 0 2 3 4 1 5
2020-03-02 12:56:03 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-base-effect-clip.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-container.c:
* ges/ges-internal.h:
* ges/ges-source-clip.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/test-utils.h:
clip: only allow core elements as children
Only allow elements that were created by ges_clip_create_track_elements
(or copied from such an element) to be added to a clip. This prevents
users from adding arbitrary elements to a clip.
As an exception, a user can add GESBaseEffects to clips whose class
supports it, i.e. to a GESSourceClip and a GESBaseEffectClip.
This change also introduces a distinction between the core elements of a
clip (created by ges_clip_create_track_elements) and non-core elements
(currently, only GESBaseEffects, for some classes). In particular,
GESBaseEffectClip will now distinguish between its core elements and
effects added by the user. This means that the core elements will always
have the lowest priority, and will not be listed as top effects. This is
desirable because it brings the behaviour of GESBaseEffectClip in line
with other clip types.
2020-03-11 19:38:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
* plugins/nle/nleobject.c:
nle: Delay marking object as not in composition
Instead of doing it at the time of resetting `object->in_composition`
when user calls `gst_bin_remove` do it after we actually removed
it from the object thread, and do it in the `nle_object_reset`
method where it belongs
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/96
2020-03-10 21:54:56 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-auto-transition.c:
auto-transition: fix setting of SET_SIMPLE flag
Previously, the SET_SIMPLE flag was non unset for auto-transitions after
it had been set.
2020-03-11 13:42:50 +0200 Sebastian Dröge <sebastian@centricular.com>
* meson.build:
Fix build with Python 3.8 by also checking for python-3.X-embed.pc
Since Python 3.8 the normal checks don't include the Python libraries
anymore and linking of the Python formatters would fail.
See also https://github.com/mesonbuild/meson/issues/5629
and https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
2020-03-09 11:49:33 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Handle checking/setting subprojects ges properties
2020-03-09 11:49:02 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Do not warn when resetting URI to the same one
2020-03-05 15:56:28 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-clip.c:
* ges/ges-source-clip.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-tree.c:
* ges/ges-timeline.c:
* tests/check/ges/group.c:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
ges: Make setting start/duration move or trim generic
We were implementing the logic for moving/trimming elements specific
to SourceClip but this was not correct ass the new timeline tree allows
us to handle that for all element types in a generic and nice way.
This make us need to have groups trimming properly implemented in the
timeline tree, leading to some fixes in the group tests.
This adds tests for the various cases known to not be handled properly
by the previous code.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/92
2020-03-04 17:42:46 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-group.c:
* tests/check/python/common.py:
* tests/check/python/test_group.py:
group: Update priority when a child is removed
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/93
2020-03-04 17:16:18 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* tests/check/python/test_timeline.py:
clip: Don't split clips at illegal position
Make sure that when we split a clip, the resulting timeline would
not be in an illegal state.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/94
2020-03-05 19:00:20 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-pipeline.c:
pipeline: don't link tracks unnecessarily
Unless the pipeline is in certain modes, we do not want to try and link
every track. The previous debug message implied this, but the method did
not actually end early.
Also, we always end early if we receive a track that is neither video
nor audio.
2020-03-05 18:15:41 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-asset.c:
* tests/check/ges/asset.c:
asset: fix handling of proxies
Previous usage of the property proxy-target seemed to alternate between
the two definitions:
+ The asset we are the default proxy of
+ The asset we are in the proxy list of
Now, the latter definition is used, which seems more useful to a user
since knowing the latter can easily allow you to find out the former.
The previous behaviour of ges_asset_set_proxy (asset, NULL) was not very
clear. It is now defined so that it clears all the proxies for 'asset'.
This means that after this call, the GESAsset:proxy property will indeed
be NULL.
Also fixed:
+ We can call ges_asset_set_proxy (asset, proxy) when 'proxy' is already
in the proxy list of 'asset'.
+ Handling of removing the default proxy in ges_asset_unproxy. This was
sending out the wrong notifies.
+ Prohibiting circular proxying. Before we could only prevent one case,
we should now be able to prevent all cases. This will prevent a hang
in ges_asset_request.
2020-03-04 17:00:46 +0000 Henry Wilkes <hwilkes@igalia.com>
* tests/check/ges/asset.c:
test: remove asset test that needs internal method
The test_proxy_asset test needs the internal method
ges_asset_finish_proxy. The test also uses the associated internal methods
ges_asset_try_proxy and ges_asset_cache_lookup. However, these are
marked with GES_API in ges-internal.h, which allows us access to them
here.
The new method is not marked as GES_API because it would not allow us to
remove the method in the future without removing it from the symbols list.
We do not want to add to the problem.
The test was simply commented out since we may wish to support tests
that access internal methods in the future using meson.
2020-03-04 13:05:58 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-asset.c:
asset: fix ownership in ges_asset_request
Fix the ownership in ges_asset_request. This should be transfer-full,
but for proxies it would fail to add a reference. Also,
ges_asset_cache_put was leaking memory if the asset already existed.
2020-03-04 11:31:32 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-project.c:
* tests/check/ges/asset.c:
asset: move set_proxy (NULL, proxy) behaviour to new method
We should not be accepting ges_asset_set_proxy (NULL, proxy) as part of
the API! This behaviour was used internally in combination with
ges_asset_try_proxy, which is called on a still loading asset, so it was
moved to ges_asset_finish_proxy.
2020-03-04 10:34:45 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-asset.c:
* ges/ges-asset.h:
asset: deprecate ->proxied method
This method was no longer called, so it has been deprecated.
2020-03-04 09:59:33 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-asset.c:
asset: make proxy-target read only
We should not be able to set this property.
2020-02-27 16:08:45 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
timeline: fix layer priority argument in trim
Previously, we tested that the given priority was `>0`, when it seems
that `>=0` was intended. A priority of `-1` means leave the priority
unchanged, whilst a priority of 0, or more, means move to this layer
priority.
2020-02-21 09:23:34 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
timeline-element: use default ->list_children_properties
Stop overwriting the ->list_children_properties virtual method in
subclasses because the timeline element class handles everything itself
anyway.
Note that containers already automatically add the children properties of
their child elements in ges_container_add.
2020-02-25 08:16:58 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-group.c:
group: fix memory leak in child layer callback
We were leaking the sigids->layer argument because gst_clip_get_layer
returns a new reference.
2020-02-24 20:19:12 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
container: fix child duration callback
Previously, we were setting the inpoint_offset using the start offset in
the duration callback!
Also added a notify for when the duration is changed in the child start
callback.
2020-02-24 18:58:55 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-group.c:
group: fix max layer priority
The maximum priority is `height - prio - 1`. Previously missing the -1.
Related to, but does not completely fix,
https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/91
2020-02-18 18:02:08 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
clip: allow for neither track nor type in search
Previously, either the track or track_type arguments had to be specified
in order to find **any** track elements. Now, you can specify neither,
which will match any track element, of the specified type.
2020-02-18 12:17:50 +0000 Henry Wilkes <hwilkes@igalia.com>
* tests/check/python/test_timeline.py:
pythontests: change num layers in timeline to 1
In the test_timeline.test_auto_transition, the corresponding xges only
has one layer, so we should only expect one layer when we extract the
timeline. This fixes a change that was missing from commit
d3e2cf55e3ad6258ff09220ee6393655fdd833f1
2020-02-18 12:14:25 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-extractable.c:
extractable: check extractable-type of set asset
When setting the asset of a GESExtractable object, first make sure that
the asset's extractable-type matches the type of the object.
2020-02-18 09:17:09 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-layer.c:
layer: fix ownership when failing to add clip
If a clip is already part of a layer, then adding it to another layer
should fail. Previously, in this case, `ges_layer_add_clip` was adding a
reference to the clip instead, without subsequently giving up ownership.
This meant that the clip would be left with an unowned reference.
This has now been corrected by also calling `unref` after the
`ref_sink`.
Note that, since `clip` is already part of `current_layer`, it should
already be non-floating, so the `ref_sink`-`unref` should do nothing
overall. But we keep both to make the ownership (transfer floating/none)
explicit.
2020-02-12 22:23:38 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-audio-track.c:
* ges/ges-video-track.c:
docs: update GESAudioTrack and GESVideoTrack
2020-01-21 12:01:41 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-enums.h:
* ges/ges-pipeline.c:
docs: update GESPipeline
2020-01-17 20:10:23 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-meta-container.c:
* ges/ges-meta-container.h:
docs: update GESMetaContainer
2020-01-17 15:27:29 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-extractable.c:
* ges/ges-extractable.h:
docs: update GESExtractable
2020-01-17 12:20:11 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-asset.c:
* ges/ges-asset.h:
docs: update GESAsset
2020-01-15 14:46:02 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-track-element.c:
* ges/ges-track-element.h:
docs: update GESTrackElement
2020-01-15 14:44:38 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-track.c:
* ges/ges-track.h:
docs: update GESTrack
2020-01-09 12:11:35 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
docs: update GESClip
2020-01-09 12:09:15 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* ges/ges-group.c:
docs: update GESGroup
2020-01-08 09:26:07 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-container.c:
* ges/ges-container.h:
docs: update GESContainer
2020-01-07 17:40:53 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-enums.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
docs: update GESTimelineElement
2019-12-20 12:30:54 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-validate.c:
validate: unref copied and pasted
2019-12-20 11:20:49 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-timeline.c:
timeline: fix paste ownership
The method steals ownership of `copied_from`, so should be responsible
for unreffing it. Also make sure we fail when `layer != -1`, since this
functionality is not supported.
2019-12-18 20:33:45 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-layer.c:
* ges/ges-layer.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-utils.c:
docs: update GESTimeline and GESLayer
2020-03-03 18:07:32 -0300 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
python: Cleanup overrides using monkey patching
Following the PyGObject guidelines[0], this starts monkey patching
overridden elements instead of subclassing them.
[0]: https://pygobject.readthedocs.io/en/latest/devguide/override_guidelines.html#python-override-guidelines
2018-11-29 19:12:24 +0100 Jens Göpfert <mail@jensgoepfert.de>
* examples/c/concatenate.c:
add assets to layer and adjust position and duration (closes #45)
2020-03-02 19:06:17 -0300 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
* tests/check/python/test_timeline.py:
python: Add a Timeline.iter_clips() helper to iterate clips
2020-02-24 12:21:11 -0300 Thibault Saunier <tsaunier@igalia.com>
* meson.build:
* meson_options.txt:
meson: Add an option to enable/disable validate integration
2020-02-22 14:23:45 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/gstframepositioner.c:
* tests/check/meson.build:
* tests/check/scenarios/check_video_track_restriction_scale.scenario:
* tests/check/scenarios/check_video_track_restriction_scale_with_keyframes.scenario:
framepositioner: Reposition source when the user positioned them
Keeping the same proportion in the size and position and only if
the aspect ratio is conserved.
2020-02-24 08:50:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
* tools/ges-validate.h:
ges:launch: Handle setting playback information in scenarios
This way we can avoid real sinks when implementing scenarios
2020-02-24 08:47:11 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
* ges/ges-track-element.c:
* ges/ges-validate.c:
validate: Handle absolute control binding support when setting keyframes
And minor fix in set-control-source
2020-02-19 18:09:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-source.c:
* ges/ges-video-uri-source.c:
* ges/gstframepositioner.c:
* ges/gstframepositioner.h:
* tests/check/scenarios/check_video_track_restriction_scale.scenario:
ges: Properly position video sources in the scene by default
We try to do our best to have the video frames scaled the best way
to fill most space on the final frames, keeping aspect ratio. The user
can later on rescale or move the sources as usual but it makes the
default behaviour a better and more natural especially now that we
set default restriction caps to the video tracks.
And fix the unit test to take that change into account
2020-02-19 18:06:26 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-image-source.c:
* ges/ges-internal.h:
* ges/ges-video-source.c:
* ges/ges-video-source.h:
* ges/ges-video-test-source.c:
* ges/ges-video-uri-source.c:
ges: Add a method to retrieve the 'natural' size of VideoSource
This way the user can easily know how the clip would look like
if no scaling was applied to the clip, this is useful to be able
to properly position the clips with the framepositionner element.
2020-02-19 15:31:28 -0300 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
* ges/ges-container.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
ges: Call the right ->set_child_property vmethod
We used to always call the `->set_child_property` virtual method
of the object that `ges_timeline_element_set_child_property` was called
from, but that means that, in the case of referencing GESContainer
children properties from its children, the children wouldn't know
what child property have been set, and the children override wouldn't
be takent into account, in turns, it means that the behaviour could be
different in the setter depending on parent the method was called,
which is totally unexpected.
We now make sure that the vmethod from the element that introduced the
child property is called whatever parent method is called, making the
behaviour more uniform.
Fix the python override to make sure that new behaviour is respected.
2020-02-18 16:31:15 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.h:
ges: Deprecate the GESTimeline::track field
It is not MT safe to access it, and user should use the proper getter
2020-02-18 16:09:55 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-internal.h:
* ges/ges-video-track.c:
ges: Set default caps for GESVideoTrack
By default, video track output full HD@30fps, this makes the behaviour
of clip position much more understandable and guarantess that we
always have a framerate.
The user can modify the values whenever he wants
2020-02-20 12:28:59 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/gstframepositioner.c:
* tests/check/ges/timelineedition.c:
* tests/check/meson.build:
* tests/check/scenarios/check_video_track_restriction_scale.scenario:
* tools/meson.build:
framepositioner: Stop lying about the source size
Basically we were advertising that the source size would be the
size of the track if it hadn't been defined by end user, but since
we started to let scaling happen in the compositor, this is not true
as the source size is now the natural size of the underlying video
stream.
Remove the unit test and reimplemented using a validate scenario which
make the test much simpler to read :=)
2020-02-20 12:27:37 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Add action types to set/check various child properties at once
And add a way to take into account control bindings.
2020-02-20 12:22:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
ges: Allow setting children property using the set_object_arg format
This make it much simpler for the user to set enum values and should not cause any issue
2020-02-20 17:13:46 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
* ges/ges-validate.c:
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
* tools/utils.c:
* tools/utils.h:
ges: Plug leaks in new ges-launch and related
2020-02-25 17:38:15 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Port to the new REPORT_ACTION API
2020-02-18 23:08:53 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlesource.c:
nlesource: When standalone consider object.duration==0 as not set
nleobject.duration defaults to 0, but this is pretty unintuitive for
end user in the case nlesource is use standalone, just consider
duration=0 equivalent to duration=GST_CLOCK_TIME_NONE as it makes
the element much simpler to use, we could actually forbid 0 as a value
in the future.
Also take into account potential CLOCK_TIME_NONE
2020-02-10 18:05:38 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-source.c:
* ges/ges-internal.h:
* ges/ges-source.c:
* ges/ges-video-source.c:
* ges/ges-video-source.h:
* ges/ges-video-test-source.c:
* ges/ges-video-uri-source.c:
ges: Avoid adding unnecessary converters for nested timelines
Basically we know that if we are using mixing, compositor will be
able to do video conversion and scaling for us, so avoid adding those
usless elements.
This optimizes a lot caps negotiation for deeply nested timelines.
2020-02-10 18:00:33 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesbasebin.c:
* plugins/ges/gesdemux.c:
plugins:ges: Fix pushing tags after e8c782d119eccf364fa24812cdc90c40f60d65d6
Basically the tags we send before STREAM_START are now ignored, meaning
that we could not detect nested timelines anymore, this commits makes
sure that we send our tag event after getting pushing STREAM_START.
2020-02-06 16:42:25 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Optimize prerolling when using nested compositions
When a composition is nested into anotherone, we *know* that the
toplevel composition is going to send a stack initializing seek,
we can thus avoid sending it on the subcomposition itself when
prerolling. This avoid seeking roundtrips and we now have one and
only one seek travelling in the overall pipeline (after it has
prerolled).
2020-02-06 12:43:57 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlesource.c:
nlesource: Fix seeks when used standalone
The 'start' of nleobject is in the 'composition' scale, inpoint is in
the media scale, when outside a composition, a nleobject->start value
doesn't mean anything.
2020-02-06 12:39:12 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
* plugins/nle/nlesource.c:
nle: Seek the whole stack on initialization
Instead of seeking each nleobject separately to setup new stack, wait
for the whole stack to preroll and then seek that newly setup stack,
leading to the same code path and seek 'tweaking' as when processing
a seek on the composition (without stack changes).
This is mandatory to properly handle filter that tweak segments to handle
time remapping for example.
2020-02-06 12:37:37 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
* plugins/nle/nleghostpad.c:
nle: Minor typo fixes
2020-02-04 17:07:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
* tools/ges-validate.h:
validate: Allow overriding ges-launch options through scenarios
In 99c45d42cfd1cafb658b63abf0b506db20167499 we allowed setting
track-types but in the end we could do it generically using the
following synthax in the scenario 'properties' metadata:
`ges-options={--track-types=video,--disable-mixing}`
2020-02-07 09:39:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-extractable.c:
* ges/ges-extractable.h:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-clip.c:
ges: Ignore deprecation of GParameter
GParameter is part of our API, and for GLib < 2.54 we do not even have
a way around avoiding it (namely `g_object_new_with_properties`).
We should stop using GParameter once we depend on GLib 2.54.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/86
2019-08-20 17:46:09 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-container.h:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-layer.h:
* ges/ges-prelude.h:
* ges/ges-screenshot.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-title-clip.c:
* ges/ges-title-clip.h:
* ges/ges-track-element-deprecated.h:
* ges/ges-track-element.h:
* ges/meson.build:
ges: Use G_DEPRECATE to mark deprecated methods
Cleanup a few things on the way.
And move ges-track-element deprecations to a dedicated header file
2019-12-14 17:04:54 +0000 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-source-clip.c:
* ges/ges-timeline-element.c:
* tests/check/ges/clip.c:
ges-source-clip: fixed return of duration setter
In general, brought the behaviour of the `start`, `duration` and
`inpoint` setters in line with each other. In particular:
1. fixed return value the GESSourceClip `duration` setter
2. changed the GESClip `start` setter
3. fixed the inpoint callback for GESContainer
4. changed the type of `res` in GESTimelineElement to be gint to
emphasise that the GES library is using the hack that a return of -1
from klass->set_duration means no notify signal should be sent out.
Also added a new test for clips to ensure that the setters work for
clips within and outside of timelines, and that the `start`, `inpoint`
and `duration` of a clip will match its children.
2019-12-05 14:23:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Ensure that encodebin enforces a single segment sent to encoders
2019-10-04 09:58:17 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Move to the new GstValidateEncodingTestInterface API
2019-11-20 07:52:56 +0100 Edward Hervey <edward@centricular.com>
* ges/ges-xml-formatter.c:
xml-formatter: Free structure after usage
CID: 1416901
CID: 1439518
CID: 1439527
2019-11-20 07:46:47 +0100 Edward Hervey <edward@centricular.com>
* ges/ges-pitivi-formatter.c:
formatter: Free path object after usage
As it's done everywhere else
CID: 1455511
2019-11-07 16:54:32 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
meson: Fix disabling of the python support
Cannot call python.dependency() if the python module was not found.
2019-08-29 07:45:45 +0200 Niels De Graef <nielsdegraef@gmail.com>
* ges/ges-container.c:
* ges/ges-layer.c:
* ges/ges-marker-list.c:
* ges/ges-meta-container.c:
* ges/ges-project.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* plugins/nle/nlecomposition.c:
* plugins/nle/nleoperation.c:
Don't pass default GLib marshallers for signals
By passing NULL to `g_signal_new` instead of a marshaller, GLib will
actually internally optimize the signal (if the marshaller is available
in GLib itself) by also setting the valist marshaller. This makes the
signal emission a bit more performant than the regular marshalling,
which still needs to box into `GValue` and call libffi in case of a
generic marshaller.
Note that for custom marshallers, one would use
`g_signal_set_va_marshaller()` with the valist marshaller instead.
2019-10-16 19:26:55 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-marker-list.c:
* ges/ges-meta-container.h:
* tests/check/ges/markerlist.c:
marker: add color meta
Support optionally coloring markers by reserving GES_META_MARKER_COLOR
for an ARGB guint.
2019-10-16 13:40:57 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-meta-container.c:
* ges/ges-meta-container.h:
meta-container: add register_static_meta
Allows us to register a static meta without having to set a value.
2019-10-16 11:37:23 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-meta-container.c:
meta-container: move comment
The comment that was above _register_meta is actually meant for
_set_value.
2019-10-23 16:04:01 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* tools/ges-launch.c:
* tools/ges-launcher.c:
ges-launch: Document timeline description format under --help
Making it simpler for user to get the documentation
2019-10-22 22:51:41 +0200 Rico Tzschichholz <ricotz@ubuntu.com>
* ges/ges-marker-list.c:
marker-list: Use proper parameters names even in the docs
Otherwise there will be parameters with hyphen in their name in the GIR.
2019-10-22 13:30:36 +0200 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Enhance dumping stack output
2019-10-22 12:21:04 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-marker-list.c:
ges: Handle empty marker lists
2019-10-22 11:53:36 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Tear down pipeline when openning a new project
Avoiding potential deadlock when we remove tracks on a playing pipeline
2019-10-22 11:50:02 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
ges: Fix setting GError when adding children to containers
We were misusing assertion and not properly setting the GError value
2019-10-22 11:31:04 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
smart-video-mixer: Handle segment updates
We were basically ignoring any segment update which could potentially
lead to setting a wrong stream time leading to wrong alpha value
being used.
2019-10-17 16:30:49 +0200 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/utils.c:
* tools/utils.h:
launcher: Enhance printed output
2019-10-17 16:21:28 +0200 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/utils.c:
* tools/utils.h:
launcher: Use the output URI extension to set encoding format
And print a description of the encoding profile.
2019-10-17 16:19:11 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Be smarter about how we match encoding profiles and tracks
2019-10-18 00:50:16 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: build gir even when cross-compiling if introspection was enabled explicitly
This can be made to work in certain circumstances when
cross-compiling, so default to not building g-i stuff
when cross-compiling, but allow it if introspection was
enabled explicitly via -Dintrospection=enabled.
See gstreamer/gstreamer#454 and gstreamer/gstreamer#381
2019-10-16 16:40:27 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-marker-list.c:
* tests/check/ges/markerlist.c:
marker-list: add prev position to ::marker-moved
Additionally give the previous marker position in the
GESMarkerList::marker-moved signal, since a user may want to know
where a move was from.
Also, fixed the documentation for GESMarkerList::marker-added
https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/78
2019-10-13 13:37:11 +0100 Tim-Philipp Müller <tim@centricular.com>
* .gitignore:
* .gitmodules:
* Makefile.am:
* autogen.sh:
* bindings/Makefile.am:
* bindings/python/Makefile.am:
* bindings/python/gi/Makefile.am:
* bindings/python/gi/overrides/Makefile.am:
* common:
* configure.ac:
* examples/.gitignore:
* examples/Makefile.am:
* examples/c/Makefile.am:
* ges/.gitignore:
* ges/Makefile.am:
* m4/Makefile.am:
* pkgconfig/.gitignore:
* pkgconfig/Makefile.am:
* plugins/Makefile.am:
* plugins/ges/Makefile.am:
* plugins/nle/.gitignore:
* plugins/nle/Makefile.am:
* tests/.gitignore:
* tests/Makefile.am:
* tests/benchmarks/Makefile.am:
* tests/check/Makefile.am:
* tests/check/ges/.gitignore:
* tests/validate/Makefile.am:
* tests/validate/scenarios/Makefile.am:
* tools/Makefile.am:
Remove autotools build system
Todo:
- hook up data/completions/ges-launch-1.0 in Meson (#77)
2019-10-01 18:02:27 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-internal.h:
* ges/ges.c:
ges: Hide internal debug category behind a GOnce
Otherwise it might be used (e.g. by the plugin loader via the GES
plugin!) before ges_init() is called.
2019-10-01 18:01:21 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/ges/gesdemux.c:
gesdemux: Initialize debug category before first using it
Prevents critical warnings during class_init()
2019-09-23 16:10:59 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Add missing safe guard when listing assets
2019-09-23 16:07:58 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structured-interface.c:
* tools/ges-launcher.c:
launch: Add an option to embed nested timelines when saving
2019-08-19 14:38:12 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: increase xges version to 0.6
Increase minor_version to 6 if a sub-project is saved under an asset or an asset includes a child stream-info element.
2019-08-23 17:26:51 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
* tests/check/python/test_timeline.py:
tests: Fix transition project tests
Basically the test project was plain broken as it had fully overlapping
clips is prohibited since the timeline edition API was reimplemented.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/62
2019-08-21 14:41:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: Fix asset cache for CLips and TrackElement with same ID
We clearly uniquely identify assets by both their IDs and their
extractable type, and we should make sure that you can have a
TrackElement and a Clip with the same ID.
There is one exception in our implementation which is GESFormatter
because we treat their subclasses as 1 type with different IDs.
2019-08-17 11:59:38 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-effect.c:
* ges/ges.c:
ges: Expose ges mixer to be used as effects
2019-08-17 11:59:02 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-effect-clip.c:
* ges/ges-layer.c:
ges: Add support for EffectClip assets
2019-08-28 18:13:06 +1000 Matthew Waters <matthew@centricular.com>
* plugins/ges/gesdemux.c:
* plugins/ges/gessrc.c:
build: also suppress unused-function warnings about g_autoptr
../plugins/ges/gesdemux.c:50:1: error: unused function 'glib_autoptr_cleanup_GESDemux' [-Werror,-Wunused-function]
G_DECLARE_FINAL_TYPE (GESDemux, ges_demux, GES, DEMUX, GESBaseBin);
^
/home/matt/Projects/cerbero/build/dist/android_universal/x86_64/include/glib-2.0/gobject/gtype.h:1401:3: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
_GLIB_DEFINE_AUTOPTR_CHAINUP (ModuleObjName, ParentName) \
^
/home/matt/Projects/cerbero/build/dist/android_universal/x86_64/include/glib-2.0/glib/gmacros.h:451:22: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CHAINUP'
static inline void _GLIB_AUTOPTR_FUNC_NAME(ModuleObjName) (ModuleObjName **_ptr) { \
^
/home/matt/Projects/cerbero/build/dist/android_universal/x86_64/include/glib-2.0/glib/gmacros.h:441:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:81:1: note: expanded from here
glib_autoptr_cleanup_GESDemux
^
../plugins/ges/gessrc.c:56:1: error: unused function 'glib_autoptr_cleanup_GESSrc' [-Werror,-Wunused-function]
G_DECLARE_FINAL_TYPE (GESSrc, ges_src, GES, SRC, GESBaseBin);
^
/home/matt/Projects/cerbero/build/dist/android_universal/x86_64/include/glib-2.0/gobject/gtype.h:1401:3: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
_GLIB_DEFINE_AUTOPTR_CHAINUP (ModuleObjName, ParentName) \
^
/home/matt/Projects/cerbero/build/dist/android_universal/x86_64/include/glib-2.0/glib/gmacros.h:451:22: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CHAINUP'
static inline void _GLIB_AUTOPTR_FUNC_NAME(ModuleObjName) (ModuleObjName **_ptr) { \
^
/home/matt/Projects/cerbero/build/dist/android_universal/x86_64/include/glib-2.0/glib/gmacros.h:441:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:158:1: note: expanded from here
glib_autoptr_cleanup_GESSrc
^
2019-08-27 10:02:04 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesbasebin.h:
* plugins/ges/gesdemux.c:
* plugins/ges/gessrc.c:
ges: fix G_DECLARE_FINAL_TYPE -Werror with clang
Also fix wrong casing the `G_DECLARE` for GESDemux.
../subprojects/gst-editing-services/plugins/ges/gessrc.c:56:1: warning: unused function 'GES_SRC' [-Wunused-function]
G_DECLARE_FINAL_TYPE (GESSrc, ges_src, GES, SRC, GESBaseBin);
^
/usr/include/glib-2.0/gobject/gtype.h:1405:33: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \
^
<scratch space>:39:1: note: expanded from here
GES_SRC
^
../subprojects/gst-editing-services/plugins/ges/gessrc.c:56:1: warning: unused function 'GES_IS_SRC' [-Wunused-function]
/usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \
^
<scratch space>:42:1: note: expanded from here
GES_IS_SRC
^
../subprojects/gst-editing-services/plugins/ges/gesdemux.c:50:1: warning: unused function 'GES_Demux' [-Wunused-function]
G_DECLARE_FINAL_TYPE (GESDemux, ges_demux, GES, Demux, GESBaseBin);
^
/usr/include/glib-2.0/gobject/gtype.h:1405:33: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \
^
<scratch space>:72:1: note: expanded from here
GES_Demux
^
../subprojects/gst-editing-services/plugins/ges/gesdemux.c:50:1: warning: unused function 'GES_IS_Demux' [-Wunused-function]
/usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \
^
<scratch space>:75:1: note: expanded from here
GES_IS_Demux
^
2019-08-27 13:52:52 +1000 Matthew Waters <matthew@centricular.com>
* ges/ges-timeline.c:
ges/timeline: remove unused function get_toplevel_container
Fixes -Werror build with clang:
../subprojects/gst-editing-services/ges/ges-timeline.c:695:1: warning: unused function 'get_toplevel_container' [-Wunused-function]
get_toplevel_container (gpointer element)
^
2019-08-23 12:36:38 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
* ges/ges-enums.h:
doc: Update cache and fix usage of <ulink>
2019-08-22 18:50:00 +0200 Millan Castro <m.castrovilarino@gmail.com>
* ges/Makefile.am:
* ges/ges-internal.h:
* ges/ges-marker-list.c:
* ges/ges-marker-list.h:
* ges/ges-meta-container.c:
* ges/ges-meta-container.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* ges/meson.build:
* tests/check/ges/layer.c:
* tests/check/ges/markerlist.c:
* tests/check/meson.build:
markerlist: implement GESMarkerList
Co-authored by Mathieu Duponchelle <mathieu@centricular.com>
2019-08-20 15:29:12 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Fix querying if we need stack reloading
We are probing upstream queries, not downstream ones
This was clearly a small test that slipt into previous commit
2019-08-16 17:41:17 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: strip "caps" from the "properties" attribute of a track element
We already have the separate "caps" attribute for xges track
elements, which is actually used in parsing.
2019-08-19 16:35:49 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: fix cb of ::error-loading-asset
Corrected typo that attached project_loaded_cb, rather than error_loading_asset_cb, to ::error-loading-asset, which meant data.error would be left unset if an error occurred in loading.
2019-08-15 17:32:12 +0100 Henry Wilkes <hwilkes@igalia.com>
* ges/ges-base-xml-formatter.c:
Test that gst_structure_get succeeds to ensure gchar *restriction is actually set before reading it. Warn if no caps are returned by gst_caps_from_string.
2019-08-14 15:48:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
* ges/ges-structured-interface.c:
structured-interface: Properly error out when a child property could not be set
2019-08-12 17:37:39 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/nle/nlecomposition.c:
tests:nle: Unref the bus before unrefing the pipeline
Aiming at fixing a rare race condition where we get:
../subprojects/gstreamer/libs/gst/check/gstcheck.c:1258:F:nlecomposition:test_seek_on_nested:0: nested_src0_0x1a1a310 is not destroyed, 1 refcounts left!
The idea is that there might have a remaining GstMessage
with the nested_src as `message.src` on the bus that has
yet to be processed in some conditions leading to a reference
still existing when unrefing the pipeline.
2019-08-12 17:17:53 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-xml-formatter.c:
ges-xml-formatter: Use g_filename_to_uri() instead of deprecated gst_uri_construct()
ges-xml-formatter.c: In function _parse_asset:
ges-xml-formatter.c:357:7: error: gst_uri_construct is deprecated: Use 'gst_uri_new' instead [-Werror=deprecated-declarations]
357 | id = gst_uri_construct ("file", subproj_data->filename);
| ^~
2019-08-12 17:16:44 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-asset.c:
* ges/ges-uri-asset.c:
Fix old-style C function declarations
ges-uri-asset.c: In function create_discoverer:
ges-uri-asset.c:53:1: error: old-style function definition [-Werror=old-style-definition]
53 | create_discoverer ()
| ^~~~~~~~~~~~~~~~~
ges-uri-asset.c: In function get_discoverer:
ges-uri-asset.c:67:1: error: old-style function definition [-Werror=old-style-definition]
67 | get_discoverer ()
| ^~~~~~~~~~~~~~
CC libges_1.0_la-ges-auto-transition.lo
ges-asset.c: In function _get_type_entries:
ges-asset.c:489:1: error: old-style function definition [-Werror=old-style-definition]
489 | _get_type_entries ()
| ^~~~~~~~~~~~~~~~~
2019-08-12 09:49:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
* ges/ges-uri-asset.c:
* plugins/ges/gesbasebin.c:
doc: Add some missing Since:
2019-08-11 21:20:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Properly handle NULL project asset ID
2019-07-30 18:24:07 -0700 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
structured: Enhance error message when no clip duration set
2019-07-30 18:22:18 -0700 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
structured-interface: Avoid setting invalid clip duration
2019-07-16 21:51:10 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
* ges/ges-track.h:
track: Add a getter for restriction_caps
2019-07-13 21:27:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launch: Set user restriction caps even when loading projects
2019-07-13 21:26:35 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
track: Enhance restriction capsfilter name
2019-07-13 13:25:48 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Serialize DiscovererStreamInfo
We do not use it yet but it gives interesting information to
users
2019-07-12 16:15:35 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
* tests/check/ges/project.c:
formatter: Plug lists of TimedValue leak
2019-07-05 09:40:57 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-xml-formatter.c:
formatter: Better document metadata registration
And fix xges mimetype to match typefind mimetype
2019-07-04 16:51:54 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/meson.build:
doc: Do not require the GStreamer cache generator
2019-07-04 15:58:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-formatter.c:
* ges/ges-internal.h:
* ges/ges.c:
* ges/python/gesotioformatter.py:
* plugins/ges/gesdemux.c:
gesdemux: Compute sinkpad caps based on formatter mimetypes
Implement lazy loading asset cache so gesdemux use the formatters
assets while GES hasn't been initialized.
And set extensions to temporary files as some formatters require
the information (otio)
2019-07-03 20:15:23 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-project.c:
formatter: Add a method to retrieve the best formatter for a givent URI
Uses the file extension as hint falling back to the default formatter
if none is found
Make use of that function in when saving a project and not formatter
is specified.
2019-02-05 15:46:49 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
* ges/ges.resource:
* ges/meson.build:
* ges/python/gesotioformatter.py:
* meson.build:
* meson_options.txt:
Implement a formatter based on [OpenTimelineIO]
[OpenTimelineIO]: http://opentimeline.io/
2019-04-19 09:07:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
formatter: Handle coma separated extensions in formatter metas
2019-03-11 19:25:23 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
formatter: Duplicate const gchar* for metadatas
2019-02-05 16:08:10 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
* ges/ges-project.h:
project: Expose the ges_project_add_formatter method
This method is useful when implementing a formatter outside
GES that end up converting to xges and uses the default formatter
to finally load the timeline.
2019-07-11 16:23:47 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* plugins/ges/gesdemux.c:
Mark nested timeline assets as such
Adding a property to let the application know
Also make sure that the duration of nested timeline assets is reported
as CLOCK_TIME_NONE as those are extended as necessary.
And make a difference between asset duration and their max duration
As nested timelines can be extended 'infinitely' those max duration
is GST_CLOCK_TIME_NONE, but their duration is the real duration of
the timeline.
2019-07-11 15:54:27 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-project.c:
* plugins/ges/gesdemux.c:
* tools/ges-launcher.c:
formatter: Enhance error reporting
And add a "loading-error" signal in GESProject so we can report
issue when loading async elements for the timeline.
2019-07-11 15:43:47 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* tests/check/ges/test-properties.xges:
xml-formatter: Fix loading sources
And fix the project file which couldn't be load now that we
properly check clips coherency
2019-07-10 19:36:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Add a testsrc to timelines if parent nleobject duration is too long
2019-07-10 12:06:01 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
ges:validate: Properly error when editing container fails
2019-07-10 11:02:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
* plugins/ges/gesdemux.c:
* plugins/nle/nlecomposition.c:
nle: Handle nested timelines update when file changes
When we have nested timelines, we need to make sure the underlying
formatted file is reloaded when commiting the main composition to
take into account the new timeline.
In other to make the implementation as simple as possible we make
sure that whenever the toplevel composition is commited, the decodebin
holding the gesdemux is torn down so that a new demuxer is created
with the new content of the timeline.
To do that a we do a NleCompositionQueryNeedsTearDown query to which
gesdemux answers leading to a full nlecomposition stack
deactivation/activation cycle.
2019-07-10 10:15:31 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
* ges/ges-structured-interface.h:
* ges/ges-validate.c:
ges:validate: Add a way to execute actions on serialized timelines
This way we can modify nested timelines.
2019-07-09 01:03:56 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-timeline-element.c:
* ges/ges-utils.c:
ges: Implement our own idle_add which uses the thread local maincontext
2019-07-09 00:28:29 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Allow passing 'uri' to 'load-project'
The action type was thought to allow that but it wasn't implemented.
2019-07-09 00:07:16 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Lower down borring debug to _LOG
2019-07-09 00:05:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Use asset ID as URI if possible
It was making no sense to consider it an empty timeline when the user
had passed the project URI when requesting the asset. Usually user
use `ges_project_new` with the URI but it is also valid to use
`ges_asset_request` with the uri as ID so let's handle that properly.
2019-07-08 19:25:32 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
python: Add a better asset __repr__
2019-07-07 20:55:53 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-base-xml-formatter.h:
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-xml-formatter.c:
* ges/ges.c:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
ges: Implement subprojects
Subprojects simply consist of adding the GESProject
to the main project asset list. Then those are recursively
serialized in the main project in the <asset> not, when deserializing,
temporary files are created and those will be used in clips
as necessary
2019-07-07 20:35:14 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Fix our asset cache
It was not talking into account the fact that you can have
several assets with a same ID but different exactractable types.
2019-07-14 16:28:23 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: Handle trying to proxy an asset to itself
And avoid infinite recursion
2019-07-03 12:10:24 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Detect recursively loading the same project file
And error out when it is the case.
2019-07-03 12:09:23 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Create proper stream-ids
2019-07-03 10:10:42 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/nle/nlecomposition.c:
nle: Check seeking on deeply nested composition
2019-06-28 20:19:49 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
track: Disable last gap by default
And let the GESPipeline logic handle that
2019-06-28 20:19:20 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Drop all group-done but the last one
2019-06-28 17:35:40 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
validate: Allow scenarios to set track types
2019-06-19 15:52:21 +0530 Swayamjeet <swayam1998@gmail.com>
* tests/validate/geslaunch.py:
tests: Add ges-sample-path-recurse with projects location
So that project files are found when using nested timelines
2019-06-23 13:03:54 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
* tools/ges-validate.c:
validate: Add a way to use validate configs with scenarios
Config files should have the-scenario-name.scenario.config to be picked automatically
2019-06-23 13:03:04 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Use proper sink and give them good names
2019-06-23 12:42:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Create folders as needed when serializing timelines
2019-06-22 23:49:50 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlesource.c:
nlesource: Wait for the seek to actualy happen before removing the probe
Make sure that an event resulting from the seek happens before removing
the pad probe, dropping anything while it is not the case.
This guarantees that the seek happens before `nlesource` outputs
anything. This was not necessary as with decodebin or usual source
flushing seeks lead to synchronous flush_start/flush_stop and we could
safely assume that once the seek is sent, it was happenning.
With nested `nlecomposition` this assumption is simply not true as
in the composition seeks are basically cached and happen later in
the composition updating thread.
This fixes races where we ended up removing the blocking probe before
the seek actually started to be executed in the nlecomposition
nested inside an nlesource which leaded to data from *before* the seek
to be outputed which means we could display wrong frames,
and it was leading to interesting deadlocks.
2019-06-22 23:25:57 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Minor debugging enhancements
2019-06-21 11:45:20 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-asset.c:
* tests/check/python/test_assets.py:
uri-asset: Fix retrieving a relocated asset sync twice
Add a simple test for that.
2019-06-21 10:47:34 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Make adding/removing track MT safe
It was almost the case already so make it happen fully
2019-06-19 18:14:52 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Ensure flushes after seek have the right seqnum
Seeks that lead to a stack change lead to deactivating the current
stack. At that point we explicitely flush downstream as a reaction to
the flushing seek. Until now those flushes had a random seqnum, this
fails if we are a nested compostion as the parent composition will end
up dropping that flush which in turns might lead to deadlocks. For
example, the flush goes through a `compositor` which wants to flush
downstream to stop its srcpad task, but that flush wouldn't have
"released" its srcpad thread if the composition srcpad drops it, meaning
it won't be able to stop the task ever.
2019-06-17 18:23:43 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
* tests/check/nle/nlecomposition.c:
nlecomposition: Shutdown children when setting state to NULL
Otherwise if we shutdown a composition whith an nested composition
(inside a source in the test) and leak it, we end up with the nested
composition task still running (in READY) which is bad.
Add a test for that which leaks the pipeline on purpose.
2019-06-17 18:23:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nle: Parent the GstTask to ourself
This allows accessing the nlecomposition in gdb when a task is
'dangling' making debugging easier.
2019-06-11 23:51:14 +0530 Swayamjeet <swayam1998@gmail.com>
* tests/validate/geslaunch.py:
tests: Implement nested timelines tests
2019-06-16 23:03:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Properly set seqnum on flush events
2019-06-16 23:00:31 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Drop ASYNC_/START/DONE messages
When we have nested timelines, we do not want those messages to pop
to the parent timelines as we handle the sequence ourself in the
timeline.
2019-06-14 23:48:20 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
demux: Create timeline from the streaming thread
First marshilling it to the main thread is dangerous as it is a blocking
operation and it should never happen there.
The asset cache is MT safe now so it is possible to load the timeline
from that thread directly
2019-06-16 21:27:47 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* plugins/ges/gesdemux.c:
uri-asset: Implement multi threading support
Making sure to have 1 GstDiscoverer per thread.
Use that new feature in gesdemux by loading the timeline directly from
the streaming thread. Modifying the timeline is not supported allowed
anyway.
2019-06-09 19:35:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/nle/nlecomposition.c:
nle: Add a seeking test for nested composition
2019-06-07 16:12:26 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-asset.c:
* plugins/ges/gesdemux.c:
Use the new GstDiscoverer caching feature
2019-06-07 16:06:39 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Do not post upstream translated composition update messages
In the case of nested timeline in the toplevel timeline we ended up
with CompositionUpdate for seeks sent by our own composition to
granchildren composition. This was not causing essential issues
if all tracks where containing nested timelines but in cases
where one of the tracks only had a nested timelines, then we
were waiting forever for a `CompositionUpdateDone`.
CompositionUpdate translated into ASYNC_START/ASYNC_DONE should
be kept inside the GESTimeline and not travel up (possibly to some
parent GESTimeline).
2019-06-07 09:10:53 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-structured-interface.c:
structured-interface: Handle track-types in clip addition
The field was already expected in the launcher
2019-06-06 23:19:38 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
* ges/ges-track.c:
* plugins/ges/gesbasebin.c:
* plugins/ges/gesdemux.c:
* plugins/nle/nlecomposition.c:
Implement and use the GstStream API
2019-06-06 17:21:01 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
* ges/ges-track.c:
* plugins/nle/nlecomposition.c:
timeline: Create stable stream IDs
2019-06-06 15:40:57 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/meson.build:
* docs/plugins/index.md:
* docs/plugins/nle.md:
* docs/plugins/sitemap.txt:
* meson.build:
* plugins/ges/gessrc.c:
* plugins/nle/nleoperation.c:
docs: Generate ges plugin doc
2019-06-06 13:51:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
* plugins/ges/gesbasebin.c:
* plugins/ges/gesbasebin.h:
* plugins/ges/gesdemux.c:
* plugins/ges/gessrc.c:
* plugins/ges/meson.build:
plugins:ges: Factor out a GESBaseBin class
And use it in both gesdemux and gessrc
2019-06-06 13:02:33 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Emit no-more-pad as required
2019-06-06 12:46:08 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Respect seek seqnum in output EOS/SEGMENT
Allowing a proper seek EOS handling with nested compositions
2019-06-06 11:26:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
gesdemux: Properly combine flows
2019-06-06 10:16:50 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
* plugins/ges/gesdemux.h:
* plugins/ges/gesplugin.c:
* plugins/ges/gessrc.c:
* plugins/ges/gessrc.h:
plugin: Make use of G_DECLARE
And remove useless .h files
2019-06-16 11:09:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
xml-formatter: Plug some leaks
2019-06-15 16:44:50 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
xml-formatter: Refactor the way we handle loading state
2019-06-15 15:11:38 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
xml-formatter: Cleanup removing all now useless pending fields
2018-06-23 11:26:03 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-layer.c:
* ges/ges-uri-asset.c:
* tests/check/python/test_clip.py:
xml-formatter: Load assets before their proxies
Paving the way to removing pending fields to make the code
simpler to follow.
2019-06-15 01:33:49 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
assets: Recurse in the chain of proxies
When linking loaded proxies and trying to setup their targets
2019-06-06 09:48:32 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
* plugins/ges/meson.build:
docs: Add gstges plugin
2019-05-26 09:55:03 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: Add action type to copy/paste clips
2019-05-25 20:20:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-container.c:
* tests/check/python/test_timeline.py:
container: Handle children pasting failures
2019-05-25 18:51:08 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* tests/check/python/test_timeline.py:
clip: Fix layer managament when copying a clip that was pasted
2019-05-25 16:05:00 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-timeline-element.c:
* tests/check/python/test_timeline.py:
element: Properly handle the fact that pasting can return NULL
And fix paste annotation
2019-05-31 23:13:48 +0200 Niels De Graef <niels.degraef@barco.com>
* configure.ac:
* meson.build:
meson: Bump minimal GLib version to 2.44
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.
2019-05-29 23:12:11 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* plugins/nle/nleobject.c:
* plugins/nle/nleoperation.c:
doc: remove xml from comments
2019-05-17 19:54:51 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-transition.c:
video-transition: When using non crossfade effect use 'over' operations
For smptealph element to work as expected the following compositing
element should mix with the default "over" operator, as described
in its documentation.
2019-05-23 18:43:06 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launcher: Remove duplicated track types option
2019-05-23 18:42:34 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-layer.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
docs: Minor documentation fixes
2019-05-23 17:20:56 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
overrides: Make sure overrides are in hierarchy order
Otherwise method order resolution will not be correct
2019-01-24 19:39:48 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
ges: Minor reorganisation of timeline-element.c
2019-01-24 08:43:00 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.h:
ges: Cleanup timeline-element.h indentation
2019-05-01 18:20:42 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
* ges/ges-project.h:
project: Add a signal to notify when a new timeline is starting to load
2019-05-23 16:58:25 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
tools: Initialize GStreamer before parsin options
We need it to be initialized to be able to parse our options
2019-05-01 17:28:26 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
* tools/utils.c:
* tools/utils.h:
tools: Use a proper implementation of get_flags_from_string
2019-05-01 17:26:51 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/test-utils.h:
tests: Simply include ges-internal.h instead of redefining the same macros
2019-05-16 09:07:03 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/gst_plugins_cache.json:
* docs/meson.build:
docs: Stop building the doc cache by default
And update the cache
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-16 15:09:51 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-timeline-element.c:
timeline-element: Mark edit() as Since: 1.18
2019-05-16 15:06:14 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-uri-asset.c:
* ges/ges.c:
ges: Sprinkle around some Since: 1.16 markers
2019-05-01 13:19:42 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/sitemap.txt:
* ges/ges-pipeline.c:
* ges/ges-screenshot.c:
ges: Deprecate ges_play_sink_convert_frame
It has nothing to do in our namespace/API
2019-05-01 12:56:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-audio-source.c:
* ges/ges-title-source.c:
* ges/ges-types.h:
* ges/ges-video-source.c:
More porting to markdown
2019-05-01 11:53:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-title-clip.c:
title-clip: Enhance documentation
2018-10-22 08:22:52 +0200 Thibault Saunier <tsaunier@igalia.com>
* Makefile.am:
* configure.ac:
* docs/Makefile.am:
* docs/base-classes.md:
* docs/gst_plugins_cache.json:
* docs/images/layer_track_overview.png:
* docs/index.md:
* docs/libs/.gitignore:
* docs/libs/Makefile.am:
* docs/libs/architecture.xml:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* docs/libs/meson.build:
* docs/low_level.md:
* docs/meson.build:
* docs/nle-index.md:
* docs/nle-sitemap.txt:
* docs/nle.md:
* docs/sitemap.txt:
* ges/meson.build:
* meson.build:
* meson_options.txt:
* plugins/meson.build:
* plugins/nle/meson.build:
doc: Build documentation with hotdoc
2018-10-22 11:39:03 +0200 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-pitivi-formatter.h:
* ges/ges-project.c:
* ges/ges-track-element-asset.c:
* ges/ges-track-element.c:
* ges/ges-uri-asset.c:
* ges/ges.c:
* ges/meson.build:
docs: Minor fixes
2019-05-07 13:33:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* docs/libs/ges-sections.txt:
doc: ges-track: Add ges_track_set_create_element_for_gap_func
2019-05-05 11:38:28 -0400 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launch: Fix caps restriction short names
2019-05-04 10:47:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
* tests/check/python/test_timeline.py:
python: Avoid warning about using deprecated methods
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/69
2019-05-02 11:41:10 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-group.c:
* ges/ges-source-clip.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
element: Make return value of setters mean something
Setters return values should return %FALSE **only** when the value
could not be set, not when unchanged or when the subclass handled
it itself!
This patches makes it so the return value is meaningul by allowing
subclasses return anything different than `TRUE` or `FALSE` (convention
is -1) to let the subclass now that it took care of everything and
no signal should be emited.
2019-05-01 12:09:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
ges: Move `ges_container_edit` to GESTimelineElement
Now that the notion of layer has been moved down to #GESTimelineElement
(through the new #ges_timeline_element_get_layer_priority method), this
method make much more sense directly in the base class.
2019-04-20 01:36:10 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* plugins/ges/meson.build:
meson: Generate a pkgconfig file for the GES plugin
This was missing due to a typo.
2019-04-19 10:41:39 +0100 Tim-Philipp Müller <tim@centricular.com>
* RELEASE:
* configure.ac:
* meson.build:
Back to development
=== release 1.16.0 ===
2019-04-19 00:35:57 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.16.0
2019-04-18 16:44:31 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: Avoid unrefing a task we do not own
2019-04-17 23:53:14 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-clip.c:
clip: Optimize set_top_effect_index by checking parent sooner
2019-04-17 23:51:13 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-clip.c:
clip: Return TRUE when the the effect index does not change
2019-04-13 20:03:52 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-clip.c:
clip: Remove obsolete FIXME
2019-04-11 23:58:48 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-container.c:
container: Call _remove_child when cannot set parent
ges_container_add removes the child being added if the call to
ges_timeline_element_set_parent fails. In this case, subclasses should
be given the chance to revert the effects of the add_child vmethod which
has just been called.
2019-04-11 23:45:13 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-container.c:
ges: Remove unused nb_effects field
2019-04-12 17:30:14 +0300 Mart Raudsepp <mart.raudsepp@collabora.com>
* ges/ges-track.c:
track: Avoid various sorting operations before timeline commit
These are showing up in performance profile of 1000+ clips looped addition.
All this is done at commit time as well, so let that do only one update and
sorting.
2019-04-15 17:03:49 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: Do not take an extra ref on asset when already initialized
The task already has a ref so this one doesn't make sense and leads to leaks
2019-04-12 18:31:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-project.c:
* tests/check/ges/project.c:
xml-formatter: Fix some asset leaks
2019-04-09 08:58:24 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/clip.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/mixers.c:
* tests/check/ges/project.c:
* tests/check/ges/timelineedition.c:
tests: Plug misc leaks
2019-04-09 08:56:49 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/gstframepositioner.c:
framepositioner: Plug caps leak
2019-04-09 08:56:08 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Plug some leaks
2019-04-08 16:25:59 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Plug leak of the auto transition asset
2019-04-08 16:25:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-tree.c:
tree: Plug a GList leak
2019-04-08 16:25:29 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Plug pad leak
2019-04-08 16:23:18 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-title-source.c:
* tests/check/ges/titles.c:
title: Deprecate method that return newly allocated `const gchar*`
This is just plain broken 190643508f14a64e36f085a69de819505e79dadb
but we can't do anything about it.
2019-04-05 11:24:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-project.c:
Plug some GError leaks when loading assets
2019-04-01 11:52:43 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
xml-formatter: Free pending clips on disposal
2019-03-28 13:51:36 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: Plug a GError leak
2019-03-28 13:08:55 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/mixers.c:
tests: Avoid random timeout and let the launcher set it up for us
2019-03-28 13:08:01 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: s/unsure/ensure
2019-03-28 13:06:37 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
asset: Plug a leak of EncodingProfiles
2019-03-28 13:06:16 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* tests/check/ges/group.c:
xml-formatter: Plug leaks of pending groups
2019-03-28 13:05:45 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
asset: plug a GTask leak
2019-03-28 11:29:05 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track-element.c:
* tests/check/ges/clip.c:
Fix splitting control bindings leaks
2019-03-28 11:09:13 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/asset.c:
tests: Fix a leak in the 'asset' test
2019-03-28 11:08:58 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-tree.c:
tree: Fixup some GList leaks
2019-04-15 18:37:58 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* ges/ges-uri-asset.c:
uri-asset: Ensure that the discoverer stops on deinit.
Discoverer maintain a referernce on the discoverer object while
the async timeout callback is alive to prevent a potential crash
if the object is freed while the callback is pending.
But if g_main_context is released before calling the timeout callback,
the discoverer pointer which was weak referenced from GESUriClipAssetClass
will not be disposed because the discoverer object is not finalized.
=== release 1.15.90 ===
2019-04-11 00:37:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.15.90
2019-03-23 19:21:31 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
g-i: pass --quiet to g-ir-scanner
This suppresses the annoying 'g-ir-scanner: link: cc ..' output
that we get even if everything works just fine.
We still get g-ir-scanner warnings and compiler warnings if
we pass this option.
2019-03-19 16:39:20 +0100 Jakub Adam <jakub.adam@collabora.com>
* ges/ges-video-source.c:
videosource: Expose video-direction child property
2019-03-15 16:24:16 +0100 Jakub Adam <jakub.adam@collabora.com>
* ges/ges-video-source.c:
videosource: auto-flip the image according to image-orientation tag
If there's image-orientation tag, make sure the image is correctly
oriented before we scale it.
2019-03-16 15:04:29 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/Makefile.am:
Fix autotools build
2019-03-08 17:45:27 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
clip: Make sure to set the pasted clip start before adding to layer
And handle the fact that adding to a layer can fail.
Also plug some leaks in the dispose method (and use the dispose
vmethod instead of finalize as appropriate).
2019-03-08 12:28:31 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
clip: Emit signals while splitting in a way the operation is undoable
Basically if we do not emit a "duration" change of the clip being
splitted first when executing the 'reverse' operations would lead
to fully overallaping clips.
2019-03-01 19:32:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-source-clip.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-tree.c:
* ges/ges-timeline-tree.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-uri-clip.c:
* ges/meson.build:
* tests/check/ges/asset.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/timelineedition.c:
* tests/check/ges/uriclip.c:
* tests/check/python/common.py:
* tests/check/python/test_group.py:
* tests/check/python/test_timeline.py:
Reimplement the timeline editing API
This is implemented on top of a Tree that represents the whole timeline.
SourceClips can not fully overlap anymore and the tests have been
updated to take that into account. Some new tests were added to verify
that behaviour in greater details
2019-03-03 21:18:53 -0300 Thibault Saunier <tsaunier@igalia.com>
* examples/c/gessrc.c:
* plugins/ges/gesdemux.c:
Some copyright fixing
2019-03-03 20:59:12 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Rename group_id to stream_start_group_id
2019-03-01 19:30:41 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/check/python/common.py:
tests: Add utilities to print the timeline
Making debugging tests simpler
2019-03-01 19:08:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-group.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
* tests/check/ges/group.c:
* tests/check/ges/timelineedition.c:
timeline-element: Add a method to retrieve layer priority
Each timeline element is in a layer (potentially spanning
over several), it is very often useful to retrieve an element
layer priority (from an app perspective more than the element
priority itself as that is a bit of an implementation detail
in the end).
Port tests to it
2019-02-11 20:30:31 -0300 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
python: Implement TimelineElement.__repr__
2019-02-28 13:56:50 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-enums.c:
* ges/ges-enums.h:
Add API to get the GESEdge names
2019-02-09 18:59:08 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
ges: Move GESClipFlags to GESTimelineElementFlags
Keeping it internal
And add an internal method to get layer priority for GESTimelineElements
(dirty implementation to make it simple for now)
2019-02-08 17:50:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/python/test_timeline.py:
tests:python: assertEquals is deprecated, use assertEqual
2019-02-08 17:48:26 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-layer.c:
layer: factor out a method to remove an object without signaling it
2019-02-08 17:47:48 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
tests: python: Move assertTimelineTopology to the baseclass
2019-02-08 17:46:31 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: No error when moving an object as part of the context
It will just happen from the context
2019-02-08 17:44:40 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Not being able to trim and object is an error
So error out when that happens.
2019-02-08 17:43:34 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Setting duration to the same value is valid
And should not be advertised as if the operation failed.
2019-02-08 17:37:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline.c:
timeline: Do not ripple if resulting duration would be 0
2019-02-08 16:44:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-auto-transition.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* tests/check/ges/group.c:
clip: Add a method to get the priority of the layer it is in
Just an helper method to get the 'priority of a the clip'
2019-02-08 16:05:18 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-source-clip.c:
* tests/check/ges/timelineedition.c:
clip: Rollback moving clips when moving a contained TrackElement fails
And fix unit tests to match the correct behaviour
2019-02-09 00:07:08 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-internal.h:
* tests/check/ges/test-utils.h:
Shorten GES_FORMAT output
2019-02-21 17:24:51 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* tests/check/python/test_clip.py:
clip: Make sure to remove and re add effects when adding clips to layer
And make re add them in the same order.
And enhance tests to check that
2019-03-01 22:57:48 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-source.c:
source: No checks when linking default elements
2019-03-15 18:31:30 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlesource.c:
nlesource: Use gst_element_call_async as appropriate
2019-03-15 17:07:06 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlesource.c:
nlesource: Protect seeks from tear down
Otherwise there is a race where we trigger the seek at the exact
same time the composition is being teared down potentially leading
to basesrc restarting its srcpad task which ends up being leaked.
Fixes ges.playback.scrub_backward_seeking.test_title.audio_video.vorbis_theora_ogg
and probably all its friends timeouting with the following stack trace:
(gdb) t a a bt
Thread 4 (Thread 0x7f5962acd700 (LWP 19997)):
#0 0x00007f5976713efd in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f5976a9d3f3 in g_cond_wait (cond=cond@entry=0x7f5938125410, mutex=mutex@entry=0x7f59381253c8) at gthread-posix.c:1402
#2 0x00007f5976c9e26b in gst_task_func (task=0x7f59381253b0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:313
#3 0x00007f5976a7ecb3 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#4 0x00007f5976a7e2aa in g_thread_proxy (data=0x7f5954071d40) at gthread.c:784
#5 0x00007f59767ea58e in start_thread (arg=<optimized out>) at pthread_create.c:486
#6 0x00007f59767196a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 3 (Thread 0x7f5963fff700 (LWP 19995)):
#0 0x00007f597670e421 in __GI___poll (fds=0xe32da0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f5976a553a6 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0xe32da0, timeout=<optimized out>, context=0xe31ff0) at gmain.c:4221
#2 0x00007f5976a553a6 in g_main_context_iterate (context=0xe31ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3 0x00007f5976a55762 in g_main_loop_run (loop=0xe32130) at gmain.c:4116
#4 0x00007f59768db10a in gdbus_shared_thread_func (user_data=0xe31fc0) at gdbusprivate.c:275
#5 0x00007f5976a7e2aa in g_thread_proxy (data=0xe1b8a0) at gthread.c:784
#6 0x00007f59767ea58e in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007f59767196a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 2 (Thread 0x7f5968dcc700 (LWP 19994)):
#0 0x00007f597670e421 in __GI___poll (fds=0xe1bcc0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f5976a553a6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0xe1bcc0, timeout=<optimized out>, context=0xe1b350) at gmain.c:4221
#2 0x00007f5976a553a6 in g_main_context_iterate (context=context@entry=0xe1b350, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3 0x00007f5976a554d0 in g_main_context_iteration (context=0xe1b350, may_block=may_block@entry=1) at gmain.c:3981
#4 0x00007f5976a55521 in glib_worker_main (data=<optimized out>) at gmain.c:5861
#5 0x00007f5976a7e2aa in g_thread_proxy (data=0xe1b800) at gthread.c:784
#6 0x00007f59767ea58e in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007f59767196a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7f5975df4fc0 (LWP 19993)):
#0 0x00007f5976713efd in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f5976a9d3f3 in g_cond_wait (cond=cond@entry=0xe34020, mutex=0xe39b80) at gthread-posix.c:1402
#2 0x00007f5976a7f41c in g_thread_pool_free (pool=0xe34000, immediate=0, wait_=<optimized out>) at gthreadpool.c:776
#3 0x00007f5976c9f1ca in default_cleanup (pool=0xe256b0 [GstTaskPool]) at ../subprojects/gstreamer/gst/gsttaskpool.c:89
#4 0x00007f5976c9e32d in init_klass_pool (klass=<optimized out>) at ../subprojects/gstreamer/gst/gsttask.c:161
#5 0x00007f5976c9e502 in gst_task_cleanup_all () at ../subprojects/gstreamer/gst/gsttask.c:381
#6 0x00007f5976c214f4 in gst_deinit () at ../subprojects/gstreamer/gst/gst.c:1095
#7 0x000000000040394f in main (argc=6, argv=<optimized out>) at ../subprojects/gst-editing-services/tools/ges-launch.c:94
2019-02-08 18:26:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/benchmarks/meson.build:
* tests/meson.build:
meson: Build benchmarks
2019-03-11 19:56:09 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-uri-asset.c:
asset-uri: Create a specific discoverer when discovering sync
To allow 'reintrancy'.
This was a 'regression' introduced in bad64296d9b497a13f5f7fe91d568d85ed236265
Fixes https://gitlab.gnome.org/GNOME/pitivi/issues/2278
2019-02-22 17:31:06 -0800 Pat DeSantis <pdesantis3@gmail.com>
* ges/ges-formatter.h:
Mark ges_timeline_load_from_uri as deprecated
2019-02-20 20:17:55 -0800 Pat DeSantis <pdesantis3@gmail.com>
* ges/ges-formatter.h:
Update deprecation warning to match GTK style
2019-02-20 17:17:14 -0800 Pat DeSantis <pdesantis3@gmail.com>
* ges/ges-formatter.h:
Mark ges_formatter_save_to_uri as deprecated
2019-01-29 13:45:49 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/Makefile.am:
* tests/check/ges/negative.c:
* tests/check/meson.build:
tests: Add inconsistent init/deinit test case
2019-01-28 20:45:11 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-asset.c:
* ges/ges.c:
ges: Enhance ges_{init/deinit} documentation
Add some init/deinit related comment and make assertion when
ges_deinit() is called from unexpected thread.
2019-02-06 19:49:14 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/python/common.py:
tests:python: Use proper GES.Project constructor
Avoiding a g_critical
2019-02-08 13:54:06 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Suppress error from child during sync state with parent
This commit is to ensure cleanup internal elements on state change failure.
nlecomposition posts its own error message after cleanup child.
If we don't suppress child error, meanwhile, an application
triggered downward state change (resulting from child error message)
might be able to reach nlecomposition before internal cleaning child up.
That eventually results to downward state change failure.
2019-02-05 17:29:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlesource.c:
nlesource: Don't leak pending seek event on dispose
2019-02-01 15:37:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Don't keep sync state of child on activation failure
This will result in downward state change failure eventually
when user is finalizing top level (i.g., gespipeline) bin.
2019-03-04 11:09:33 +0000 Tim-Philipp Müller <tim@centricular.com>
* examples/.gitignore:
examples: add gessrc example binary to .gitignore
2019-03-04 11:07:51 +0000 Tim-Philipp Müller <tim@centricular.com>
* plugins/ges/gesdemux.c:
gesdemux: don't use deprecated gst_uri_construct()
Fixes #64
2019-03-04 09:14:25 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* configure.ac:
* meson.build:
Back to development
2019-02-28 13:09:38 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/ges/Makefile.am:
ges: Link ges plugin to libgstpbutils
/usr/bin/ld: .libs/libgstges_la-gesdemux.o: in function `ges_timeline_new_from_uri_from_main_thread':
./plugins/ges/gesdemux.c:279: undefined reference to `gst_discoverer_new'
/usr/bin/ld: ./plugins/ges/gesdemux.c:288: undefined reference to `gst_discoverer_start'
=== release 1.15.2 ===
2019-02-26 11:59:49 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.15.2
2019-02-26 14:12:13 +0000 Tim-Philipp Müller <tim@centricular.com>
* examples/c/Makefile.am:
examples: add new gessrc example, so sourcefile gets disted
2019-02-26 13:57:17 +0000 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
* plugins/Makefile.am:
* plugins/ges/Makefile.am:
plugins: add autotools build for new ges plugin
2019-02-20 22:11:54 -0300 Thibault Saunier <tsaunier@igalia.com>
* examples/python/keyframes.py:
examples: Add an example about using keyframes in python
2019-02-11 18:26:04 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-meta-container.c:
ges-meta-container: Fix g-i annotation
ges-meta-container.c:516: Warning: GES: invalid "allow-none" annotation:
only valid for pointer types and out parameters
2019-02-06 00:30:35 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* plugins/ges/gesdemux.c:
misc: Fix warnings on Cerbero's ancient MinGW
gesdemux.c:297:3: error: value computed is not used [-Werror=unused-value]
2019-01-23 09:07:58 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-group.c:
Fix segfault when adding clips to group outside a timeline
Making sure that objects are inside a timeline before adding/removing them from it
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/35
2019-01-30 15:58:33 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/python/test_timeline.py:
tests: Fix usage of undefined class
2019-01-28 19:09:03 -0300 Thibault Saunier <tsaunier@igalia.com>
* tools/ges-launcher.c:
launcher: Add options to set tracks restriction caps
2019-01-28 00:55:27 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
tests: ges: Fix various leak
2019-01-26 19:50:48 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* ges/ges-layer.c:
layer: Fix asset leak
2019-01-26 16:44:09 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* ges/ges-effect.c:
effect: Fix string leak
2019-01-29 11:52:43 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* ges/ges-uri-asset.c:
uri-asset: Implement dispose vmethod for GESUriSourceAsset
... and fix DiscovererStreamInfo leak
2019-01-26 16:27:27 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* ges/ges-uri-asset.c:
uri-asset: Don't forget to unref DiscovererInfo on dispose
Dispose() must unref DiscovererInfo ownership
taken by ges_uri_clip_asset_set_info().
2019-01-25 18:21:43 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
* ges/ges-video-transition.c:
video-transition: Fix GstPad leak
Returned Gstpad by link_element_to_mixer_with_smpte()
has increased refcount in ges_smart_mixer_get_mixer_pad().
2018-11-27 04:55:17 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-timeline.c:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
timeline: Better handle loading inconsistent timelines
Auto transition when having 3 overlapping clips in a same point in the
timeline is not supported as we can't handle it in a nice way. Before we
to avoid creating 2 overlapping transitions (which is plain broken in
NLE) were completely disabling `auto-transition` and removing all
auto-transitions in the timeline but this is pretty weird for the end
user. This commit changes and now makes sure 2 transitions are not
created in the same place.
Also cleanup previous test case.
2019-01-18 17:25:11 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-project.c:
* ges/ges-transition-clip.c:
* ges/ges-xml-formatter.c:
s/accured/occurred/g
2019-01-18 17:12:42 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Minor debug enhancement
2019-01-18 09:52:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* plugins/ges/gesdemux.c:
* plugins/ges/gesdemux.h:
* plugins/ges/gesplugin.c:
plugins: Add an a gesdemux element to 'demux' serialized timelines
2015-03-14 20:52:47 +0000 Thibault Saunier <tsaunier@gnome.org>
* examples/c/gessrc.c:
* examples/c/meson.build:
* examples/python/gst-player.py:
* plugins/ges/gesplugin.c:
* plugins/ges/gessrc.c:
* plugins/ges/gessrc.h:
* plugins/ges/meson.build:
* plugins/meson.build:
plugins: implement a gessrc element useable from playbin
This is a new simple GstBin that can handle the ges:// uris
and will directly expose the srcppads of the tracks present in the
timeline.
2019-01-18 15:45:39 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges.c:
* tests/check/python/test_assets.py:
uri-asset: Use the same code path for sync discovery as the async one
And start handling relocated assets.
Also expose the discoverer callback as a vmethod so that we can
overridde the discoverer when necessary (to handle discovering of
timeline through gesdemux for example)
2019-01-17 15:12:42 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
* plugins/nle/nlecomposition.c:
* tests/check/nle/nlecomposition.c:
nlecomposition: Get overall pipeline position by recursing up
And handle NLEComposition inside NLEComposition
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/39
2018-09-30 17:22:13 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
videomixer: Drop allocation query after the compositor
Working around https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/310
2019-01-28 18:59:40 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-layer.c:
* tests/check/python/test_timeline.py:
layer: Resort clips before syncing priorities
We set the priorities making the assumption that `start_clips` is properly
ordered by start!
Fixes https://gitlab.gnome.org/GNOME/pitivi/issues/2254
2019-01-28 12:58:06 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/ges/asset.c:
tests: asset: Add test async asset request with custom GMainContext
... and test call ges_{init/deinit} multiple times in a unit test.
2019-01-28 17:22:10 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges.c:
Revert "ges: Add missing type unref on deinit"
This reverts commit e939cfebaf4deeabf21ba799ddc3eeaa87e7cf9a.
Class might not be initialized if they were already registered
when ges_init() was called, but were not created until ges_deinit() called.
2019-01-28 17:12:54 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-internal.h:
* ges/ges-uri-asset.c:
* ges/ges.c:
ges: Add check sync/async discoverer
To support ges_{init/deinit} multiple times in a process,
there should be a method for setting up internal object/table of
GESUriClipAssetClass. because *_class_init() will be called
only once in process lifecycle.
2019-01-28 17:15:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-uri-asset.c:
uri-asset: Add missing GHashTable cleanup
... and use g_object_unref() for GFile object, it's not a GstObject.
2019-01-28 16:34:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges.c:
ges: Print initialize error reasons
2019-01-28 12:19:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/ges/asset.c:
tests: asset: Remove out-of-date comment
2019-01-28 12:17:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/ges/asset.c:
tests: asset: Remove pointless gst_init()
It's done by GST_CHECK_MAIN() already
2019-01-28 11:24:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/ges/asset.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/mixers.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/tempochange.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/track.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/check/nle/complex.c:
* tests/check/nle/nlecomposition.c:
* tests/check/nle/nleoperation.c:
* tests/check/nle/simple.c:
tests: init/deinit per test case
... in order to verify init/deinit pair.
2019-01-28 11:07:36 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges.c:
ges: Simplify init/deinit flag
In theory, GES can be init/deinit multiple times in a process.
To simplify that use-case, let's trace only "ges_initialized" flag.
2019-01-21 11:53:44 +0100 Corentin Noël <corentin.noel@collabora.com>
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
uri-asset: Add ges_uri_clip_asset_finish to get better introspection
Vala requires a matching _finish function to correctly bind the method with the right finish method.
2019-01-21 14:14:06 +0100 Corentin Noël <corentin.noel@collabora.com>
* ges/ges-timeline.c:
timeline: fix two issues in the documentation
2019-01-15 09:59:59 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Do not forget to serialize clips metadata
2019-01-15 09:38:14 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
xml-formatter: Serialize groups metadatas
2019-01-15 00:15:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-uri-asset.c:
uri-asset: Don't leak GstDiscovererInfo
2019-01-15 00:13:24 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-uri-asset.c:
uri-asset: Impl. dispose vfunc
... and fix GList/GESAsset leak
2019-01-14 23:38:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-transition-clip.c:
transition-clip: Don't leak GESAsset
Returned GESAsset from ges_asset_request should be freed since
ges_extractable_set_asset doesn't take ownership
2019-01-14 22:14:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/gstframepositioner.c:
framepositioner: Fix invalid memory access
The GstFramePositioner might be finalized before the notify callback
Without this commit,
gst-editing-services / ges_basic / test_ges_timeline_remove_track
can reproduce the case.
2019-01-14 15:06:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nleoperation.c:
nleoperation: Fix GstPad leak
Returned GstPad by nle_object_remove_ghost_pad() has increased
refcount.
2019-01-14 14:10:32 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
* plugins/nle/nleghostpad.c:
nleghostpad: Fix GstEvent leak
2019-01-14 12:52:47 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Don't leak GNode
Clear the last node before update
2019-01-14 13:22:13 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/nle/complex.c:
* tests/check/nle/nlecomposition.c:
* tests/check/nle/tempochange.c:
tests: nle: Fix various leak
Don't leak GError and GstPad object
2019-01-14 11:34:20 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/nle/common.c:
* tests/check/nle/common.h:
* tests/check/nle/complex.c:
* tests/check/nle/nleoperation.c:
* tests/check/nle/simple.c:
* tests/check/nle/tempochange.c:
tests: nle: Fix GList leak
2019-01-13 00:12:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/ges/asset.c:
* tests/check/ges/basic.c:
* tests/check/ges/layer.c:
tests: ges: Fix various leak
2019-01-12 22:24:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-asset.c:
asset: Fix various leak
2019-01-12 21:59:20 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-enums.c:
enums: Add missing unref
2019-01-12 21:52:16 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Clear all members before chaining up to parent on finalize
2019-01-12 21:51:36 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-structure-parser.c:
structure-parser: Add missig chain up code
2019-01-12 20:53:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges.c:
ges: Add missing type unref on deinit
2019-01-12 20:23:50 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-asset.c:
* ges/ges-internal.h:
* ges/ges.c:
ges: Cleanup internal hash table on deinit
System-wide once allocated but it makes tracing leak hard
2019-01-12 19:57:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges.c:
ges: Make init/deinit thread safe
Although it might be uncommon use case, init/deinit could be called
in non-main thread.
2019-01-12 19:23:25 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-asset.c:
asset: Use static lock
The mutex life cycle follows processs.
2019-01-14 10:16:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
* tests/check/meson.build:
tests: Increase timeout value to 360 sec
Use consistent timeout value with core and other plugins.
Otherwise, valgrind sometimes timed out with default timeout 30sec.
2019-01-14 12:45:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Don't try dump null stack
Fixes following assertion
Unexpected critical/warning: g_node_traverse: assertion 'root != NULL' failed
=== release 1.15.1 ===
2019-01-17 02:30:06 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.15.1
2019-01-14 18:32:23 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
ges: Register formatters during meta registration
So that formatters implemented outside GES itself are registered
2019-01-14 18:30:38 -0300 Thibault Saunier <tsaunier@igalia.com>
* docs/libs/ges-sections.txt:
* ges/ges.c:
* ges/ges.h:
ges: Add a ges_is_initialized function
2019-01-14 18:28:52 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-formatter.c:
formatter: sink ref of the temporary GESFormatter
To accomodate formatters implemented with bindings/in python
2019-01-09 17:11:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-pipeline.c:
pipeline: Ensure timeline state to be NULL on dispose
The GESTimeline's state might not be synced with parent
2019-01-09 16:23:54 +0900 Seungha Yang <seungha.yang@navercorp.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Handle state change failure
Whatever the reason for failure, try cleanup child elements
and internal thread.
2019-01-05 00:23:20 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-meta-container.c:
ges-meta-container: Fix warning message
2019-01-04 05:31:39 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-meta-container.c:
ges-meta-container: Minor documentation fixes
2019-01-04 12:36:20 +0100 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track-element.c:
track-element: Ignore writability for whitlisted children props
If the property was explicitely whitelisted, we should expose it
in any case.
This was a regression from 835d69374978208bc73a8f823b899f624dda9479
2018-12-30 19:49:44 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-video-mixer.c:
ges: avoid use of G_DECLARE_FINAL_TYPE which requires GLib 2.44
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/48
2018-12-27 10:54:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-container.c:
container: Fix GHashTable leak
2018-12-27 00:15:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-container.c:
container: Fix wrong finalize() usage
finalize must chain up to parent's finalize(), not dispose()
2018-12-27 00:14:03 +0900 Seungha Yang <seungha.yang@navercorp.com>
* ges/ges-timeline-element.c:
timeline-element: Chain up to parent impl. on dispose()
... as documented in glib
2018-09-24 15:41:24 +0100 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-audio-source.c:
* ges/ges-audio-test-source.c:
* ges/ges-audio-track.c:
* ges/ges-audio-transition.c:
* ges/ges-audio-uri-source.c:
* ges/ges-auto-transition.c:
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect.c:
* ges/ges-base-transition-clip.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip-asset.c:
* ges/ges-clip.c:
* ges/ges-command-line-formatter.c:
* ges/ges-container.c:
* ges/ges-effect-asset.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-enums.c:
* ges/ges-extractable.c:
* ges/ges-formatter.c:
* ges/ges-group.c:
* ges/ges-image-source.c:
* ges/ges-layer.c:
* ges/ges-meta-container.c:
* ges/ges-multi-file-source.c:
* ges/ges-operation-clip.c:
* ges/ges-operation.c:
* ges/ges-overlay-clip.c:
* ges/ges-pipeline.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-prelude.h:
* ges/ges-project.c:
* ges/ges-screenshot.c:
* ges/ges-smart-adder.c:
* ges/ges-smart-video-mixer.c:
* ges/ges-source-clip.c:
* ges/ges-source.c:
* ges/ges-structure-parser.c:
* ges/ges-structured-interface.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element-asset.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-transition.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-clip.c:
* ges/ges-utils.c:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-track.c:
* ges/ges-video-transition.c:
* ges/ges-video-uri-source.c:
* ges/ges-xml-formatter.c:
* ges/meson.build:
* meson.build:
WIP: ges: fix API export/import and 'inconsistent linkage' on MSVC
Export GES library API in headers when we're building the
library itself, otherwise import the API from the headers.
This fixes linker warnings on Windows when building with MSVC.
Fix up some missing config.h includes when building the lib which
is needed to get the export api define from config.h
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/42
2018-12-10 13:28:16 +1100 Matthew Waters <matthew@centricular.com>
* ges/meson.build:
build: also allow building static libraries for e.g. Android/iOS
2018-12-05 17:25:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* common:
Automatic update of common submodule
From ed78bee to 59cb678
2018-11-30 12:41:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pitivi-formatter.c:
* ges/ges.c:
* ges/ges.h:
* ges/meson.build:
* meson.build:
* meson_options.txt:
Add a way to disable xptv support
This formatter is in very bad shape and is generally not useful.
It has been deprecated since 1.0... and I bet noone uses it.
2018-11-28 05:48:37 +0200 Jordan Petridis <jordan@centricular.com>
* examples/c/play_timeline_with_one_clip.c:
Run gst-indent through the files
This is required before we enabled an indent test in the CI.
https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
2018-11-27 12:09:20 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track-element.c:
track: Fix documentation about "binding_type"
2018-11-26 17:18:25 -0300 Thibault Saunier <tsaunier@igalia.com>
* meson.build:
Revert "meson: Fix the reference to libxml2 path"
It seemed to be what the wrap file expected but in the end it is
just a bug in meson which is now fixed.
This reverts commit cc5d74d0be30dab92d1540ed749eaf4dcedd9171.
2018-11-26 15:57:30 -0300 Thibault Saunier <tsaunier@igalia.com>
* meson.build:
meson: Fix the reference to libxml2 path
2018-11-26 14:50:29 -0300 Thibault Saunier <tsaunier@igalia.com>
* meson.build:
meson: Add a fallback for libxml2
2018-11-26 14:50:03 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-validate.c:
validate: cleanup the playback-time from validate structures
Otherwise we might fail on them in the ges-structure-interface
2018-11-23 11:22:03 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-effect.c:
effect: Create ghost pads ourself
As we can have effects with several pads and the default ghosting
doesn't allow that.
This way we also filter the pads to ghost to match our track type.
2018-11-23 11:20:00 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-effect-asset.c:
effect: Consider the "Filter" classification to determine effect media type
2018-11-12 12:47:02 +0200 Jordan Petridis <jordan@centricular.com>
* .gitlab-ci.yml:
Add Gitlab CI configuration
This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.
The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
2018-10-09 00:45:29 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* tests/check/python/common.py:
* tests/check/python/test_clip.py:
* tests/check/python/test_group.py:
clip: Emit additional signals after child-removed
When removing an effect from a clip, first the notify::priority signals
were being emitted for the remaining effects which changed priority, and only
at the end the child-removed signal. Now the child-removed signal is emitted
first.
2018-11-05 13:57:25 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timeline-element: Fix compilation errors
There were some code errors introduced in commit 6b738b7a
2018-11-04 20:47:01 +1100 Matthew Waters <matthew@centricular.com>
* meson.build:
* plugins/nle/meson.build:
nle: install pkg-config file for plugin
2018-11-05 11:00:58 +0100 Corentin Noël <corentin.noel@collabora.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timeline-element: Align virtual methods and invokers prototypes
2018-11-05 05:51:47 +0000 Matthew Waters <matthew@centricular.com>
* .gitmodules:
* gst-editing-services.doap:
Update git location to gitlab
2018-11-02 14:32:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
ges: Check the thread from which our API is used
And add some missing API guards
2018-11-02 09:30:28 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
ges: Mark GValue in child property setters as const
We can't change the vmethod at this point so just cast. This makes
the API more explicit so it is better in all cases.
2018-10-31 10:38:59 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/Makefile.am:
* ges/ges.h:
* ges/meson.build:
Keep GESSmartVideoMixer out of the Gir and add geseffectasset.h to ges.h
Fixing gstreamer-sys rust bindings.
2018-10-31 10:06:08 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/Makefile.am:
* ges/meson.build:
Fix the `package` name in the gir to match the `.pc` filename
2018-10-28 15:55:23 +0000 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-video-transition.c:
* ges/gstframepositioner.c:
video-transition: Port to the new 'operator' API in compositor
Now subclassing a ghostpad with an alpha property so that
we can multiply the alpha of the frame positioning meta
and the alpha of that pad, setting it on the compositor pad.
https://bugzilla.gnome.org/show_bug.cgi?id=797169
2018-10-28 15:33:31 +0000 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-video-transition.c:
Revert "video-transition: Make use of the new `compositor::crossfade-ratio` property"
This reverts commit 57be9b67998bf5fef81a61c645b167c3857ed35b.
2018-10-28 13:29:43 +0000 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/__init__.py:
python: Remove __init__.py
It is not needed with latest python
2018-09-30 17:44:08 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-source.c:
* plugins/nle/nlecomposition.c:
nlecomposition: Add a function that prints stacks as debug info
2018-10-28 11:05:38 +0000 Philippe Normand <philn@igalia.com>
* bindings/python/gi/overrides/__init__.py:
python: Remove debug print
2018-10-22 08:13:07 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
ges: Fix compilation with latest GLib
g_clear_pointer() is now preserving the type of its arguments for the
free function.
ges-xml-formatter.c: In function _dispose:
ges-xml-formatter.c:1635:7: error: function called through a non-compatible type [-Werror]
(GDestroyNotify) g_hash_table_unref);
/usr/include/glib-2.0/glib/gmem.h:121:8: note: in definition of macro g_clear_pointer
(destroy) (_ptr); \
^~~~~~~
https://bugzilla.gnome.org/show_bug.cgi?id=797310
2018-10-08 23:25:21 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: use 'python' module to find python instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
2018-09-05 22:55:02 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-asset.c:
* ges/ges-audio-source.c:
* ges/ges-audio-test-source.c:
* ges/ges-audio-track.c:
* ges/ges-audio-transition.c:
* ges/ges-audio-uri-source.c:
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect.c:
* ges/ges-base-transition-clip.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip-asset.c:
* ges/ges-clip.c:
* ges/ges-command-line-formatter.c:
* ges/ges-container.c:
* ges/ges-effect-asset.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-formatter.c:
* ges/ges-group.c:
* ges/ges-image-source.c:
* ges/ges-layer.c:
* ges/ges-multi-file-source.c:
* ges/ges-operation-clip.c:
* ges/ges-operation.c:
* ges/ges-overlay-clip.c:
* ges/ges-pipeline.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-project.c:
* ges/ges-source-clip.c:
* ges/ges-source.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element-asset.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-transition.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-clip.c:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-track.c:
* ges/ges-video-transition.c:
* ges/ges-video-uri-source.c:
* ges/ges-xml-formatter.c:
* plugins/nle/nlecomposition.c:
* plugins/nle/nlesource.c:
* tools/ges-launcher.c:
Update for g_type_class_add_private() deprecation in recent GLib
2018-09-05 21:49:09 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* tests/check/python/test_clip.py:
clip: Resync priorities when removing an effect
When removing a top effect in the list of top effects, other
effects priorities need to take that into account to avoid
holes in the indices.
2018-08-03 14:02:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges.c:
ges: Check that nle is avalaible when initializing
2018-09-01 12:17:08 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
* meson_options.txt:
* tests/meson.build:
meson: Add a feature option for tests
This autodetection is needed on iOS inside Cerbero where
gstreamer-check-1.0 is not available.
2018-08-31 14:44:58 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ges/meson.build:
* meson.build:
meson: Maintain macOS ABI through dylib versioning
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-15 19:14:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* tests/check/meson.build:
meson: There is no gstreamer-plugins-good-1.0.pc
There is no installed version of that, only an uninstalled version.
2018-07-29 16:20:50 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
formatter: Fix mixup in variable check
2018-07-28 14:29:11 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-xml-formatter.c:
xml-formatter: Bump format version
Previous commit makes the format not forward compat.
2018-07-28 12:16:36 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-container.c:
* ges/ges-internal.h:
* ges/ges-transition-clip.c:
* ges/ges-xml-formatter.c:
* tests/check/python/test_clip.py:
formatter: Serialize Transition border and invert properties
Marking them as children properties and properly allow serializing
clips children properties.
This doesn't handle several TrackElement of a same type with
different property values but this require more worked already
marked as fixme to allow specifying full path of elements in the
children properties API.
See https://gitlab.gnome.org/GNOME/pitivi/issues/1687
2018-07-27 22:11:33 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Compute relocation URIs in missing-uri signal
Until know we were doing it outside of the signal and subclasses didn't
have a chance to know that some assets was relocated.
This is required so that Pitivi can handle proxy delation and relocated
assets.
Required for https://gitlab.gnome.org/GNOME/pitivi/issues/2203
2018-07-25 17:20:02 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/libs/meson.build:
* meson.build:
* meson_options.txt:
meson: Convert common options to feature options
The remaining automagic options are in tests and examples.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-23 00:07:07 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Let testsuites define scenarios path
The code was not taking into account the fact that testsuite could be
located in a different folder that the default one.
Now the testsuite is responsible for providing a path if it wants
to set extra scenarios or the user can set one by hand.
2018-07-14 09:00:51 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pitivi-formatter.c:
pitivi-formatter: Do not g_file_test on a NULL pointer
2018-07-18 12:38:04 -0400 Thibault Saunier <tsaunier@igalia.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Rename outside_segment to seek_segment
This segment is representing the last seek received
inside the composition. Or a simply initialized segment
if need seek occurred.
2018-07-18 12:52:59 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/check/nle/tempochange.c:
tests: Minor assertion enahncements
2018-07-19 10:55:31 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-project.c:
project: Do not emit 'error-loading-asset' when we are trying to update the ID
2018-07-19 22:06:54 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Handle scenario only based tests
Meaning tests that do not need project at all
2018-07-12 13:53:44 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track.c:
track: Set restriction caps when update_restriction before caps being set
And stop leaking intermediary restriction caps.
https://bugzilla.gnome.org/show_bug.cgi?id=796802
2018-07-08 16:09:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
python:overrides: Remove spurious print
2018-07-08 10:36:36 -0400 Thibault Saunier <tsaunier@igalia.com>
* bindings/python/gi/overrides/GES.py:
* bindings/python/meson.build:
* meson.build:
* meson_options.txt:
* tests/check/python/overrides_hack.py:
* tests/check/python/test_clip.py:
* tests/check/python/test_group.py:
* tests/check/python/test_timeline.py:
python: Fix GES.Timelineset_child_property
Implementing it in the overrides as PyGObject won't be able to properly
convert python values to GValues in some cases. Using
g_object_set_property works as some logic is implemented inside
PyGObject for that particular case. This is a "regression" due
to https://bugzilla.gnome.org/review?bug=769789&attachment=348766 were
we end up with an OverflowError while setting G_TYPE_UINT children
properties.
2018-04-01 16:22:16 +0200 Bastian Köcher <git@kchr.de>
* ges/meson.build:
meson: fix install dir for configure files
Nixos configures a custom includedir.
https://bugzilla.gnome.org/show_bug.cgi?id=794856
2018-07-01 16:22:24 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/Makefile.am:
* meson.build:
Set GLib log domain to GES
2018-07-01 12:21:54 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-group.c:
group: Handle clips that get readded to a layer and inside a group
2018-06-26 16:21:22 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ges/ges-asset.c:
asset: documentation fix
2018-06-15 16:49:55 -0400 Thibault Saunier <tsaunier@igalia.com>
* configure.ac:
* tests/check/Makefile.am:
* tests/check/meson.build:
tests: Use gst-validate-launcher to run python tests
2018-06-14 17:07:10 -0400 Thibault Saunier <tsaunier@igalia.com>
* meson.build:
* meson_options.txt:
meson: Rename the gtkdoc option to gtk_doc
This is what other modules use
2018-05-20 23:48:39 +0100 Tim-Philipp Müller <tim@centricular.com>
* examples/c/Makefile.am:
examples: override -Werror
Don't want to error out on deprecated API warnings and such.
Just drop -Werror for the examples until someone updates them
to recent gtk3 API. Maybe showing the warnings will motivate
someone.
https://bugzilla.gnome.org/show_bug.cgi?id=796243
2018-05-20 23:47:14 +0100 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
examples: always build against gtk3
Drop gtk2 option.
https://bugzilla.gnome.org/show_bug.cgi?id=796243
2018-05-20 23:46:42 +0100 Tim-Philipp Müller <tim@centricular.com>
* examples/c/ges-ui.c:
examples: ges-ui: fix some gtk2-ism
Still lots of deprecated API to update.
https://bugzilla.gnome.org/show_bug.cgi?id=796243
2018-05-13 21:12:35 -0400 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* tests/check/python/test_timeline.py:
clip: Make sure to never snap when splitting clips
It makes no sense to snap in that context.
https://gitlab.gnome.org/GNOME/pitivi/issues/2193
2018-05-13 16:37:08 -0400 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Run IQA tests when possible
Meaning that a reference file has to be present on disk with a
`.expected_result` extension.
2018-04-20 17:56:15 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/validate/geslaunch.py:
validate: Stop forcing I420 in profiles restriction caps
This was a workaround for encoders bad behavior in the reconfigure case.
https://bugzilla.gnome.org/show_bug.cgi?id=795420
2018-05-05 19:34:14 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
* meson_options.txt:
meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
2018-04-25 11:01:01 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: use -Wl,-Bsymbolic-functions where supported
Just like the autotools build.
2018-04-20 18:45:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Properly error out when linking fails
In the rendering case we were getting random issues and often the
pipeline was not be able to preroll as some pad were not linked inside
encodebin.
https://bugzilla.gnome.org/show_bug.cgi?id=795422
2018-04-20 17:54:12 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-track-element.c:
track-element: Fix the way we look for properties on simple elements
Refactor so that the same code is used to add children properties from
bin children and when inspecting a single element.
2018-04-20 17:36:55 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-pipeline.c:
pipeline: Update caps only when rendering as comment suggests
We used to update caps for any more because of missing brackets.
2018-04-20 17:35:06 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-effect.c:
effect: Allow setting properties on any element specified by the user
Those are the elements he cares about and we should expose their APIs
as is, event if they are not classified as effects. For example if
the user want to use a capsfilter as effect, he should be able to set
its caps.
2018-04-20 17:34:17 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-base-xml-formatter.c:
xml-formatter: Print error if an effect can't be set when deserializing
2018-04-16 10:53:57 +0100 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From 3fa2c9e to ed78bee
2018-03-31 13:39:54 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-timeline.c:
* tests/check/ges/layer.c:
Deprecate ges_layer_set_priority
Keep old behaviour but deprecate the method and property as
ges_timeline_move_layer should be used instead.
2015-12-12 11:29:50 +0000 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Add a method to move layers around
summary_:
This way the timeline can handle all priorities for the user
making the API simpler to use.
API:
+ ges_timeline_move_layer
reviewers_: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D232
2018-03-31 11:24:23 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-timeline-element.h:
timeline-element: Fix ABI breakage
New fields in structure should be added in place of the padding
2018-03-31 10:38:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* docs/libs/ges-sections.txt:
docs: Move timeline related doc to the timeline section
It wrongly was in the layers
2018-03-30 18:17:13 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
* ges/ges-structure-parser.c:
* ges/ges-structured-interface.c:
* ges/parse.l:
ges-launcher: Add support for titles
2018-03-30 17:41:49 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-command-line-formatter.c:
command-line-formatter: Refactor to generate the documentation automatically
https://bugzilla.gnome.org/show_bug.cgi?id=794837
2018-03-26 12:13:25 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-effect.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
ges: Update the media-duration-factor each time a child property is set
Otherwise the changes won't be reflected in the NLE backend.
This makes speed changes working inside ges-launch-1.0
ges-launch-1.0 +clip /path/to/file i=10 d=5 +effect videorate set-rate 5.0
https://bugzilla.gnome.org/show_bug.cgi?id=794699
2018-03-26 18:56:03 +0530 Suhas Nayak <suhas2go@gmail.com>
* ges/ges-effect.c:
ges: Register videorate::rate as a rate changing property
https://bugzilla.gnome.org/show_bug.cgi?id=794699
2018-03-20 10:24:35 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* RELEASE:
* configure.ac:
* meson.build:
Back to development
=== release 1.14.0 ===
2018-03-19 20:28:10 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.14.0
2018-03-19 08:57:47 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-video-source.c:
doc: Remove documentation about GESVideoSource::zorder as it doesn't exist
The zorder is controled through the GESLayer priority API, not directly
on the sources.
2018-03-18 11:03:00 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* tests/check/python/common.py:
* tests/check/python/test_timeline.py:
clip: Make sure to create transition after a clip is splitted
In the (now tested) scenario where we have a transition on the right
side of a clip we are splitting, auto transitions can't be created
because we resize the clip after adding the new one, meaning that
there are 3 elements in the "transition zone", we need to force
auto transition creation after the splitting.
Fixes https://gitlab.gnome.org/GNOME/pitivi/issues/2142
2018-03-14 20:59:04 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-group.c:
group: Handle clips being removed from their layers
=== release 1.13.91 ===
2018-03-13 19:29:44 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.13.91
2018-03-13 14:14:57 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-asset.h:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.h:
* ges/ges-audio-track.h:
* ges/ges-audio-transition.h:
* ges/ges-audio-uri-source.h:
* ges/ges-base-effect-clip.h:
* ges/ges-base-effect.h:
* ges/ges-base-transition-clip.h:
* ges/ges-base-xml-formatter.h:
* ges/ges-clip-asset.h:
* ges/ges-clip.h:
* ges/ges-command-line-formatter.h:
* ges/ges-container.h:
* ges/ges-effect-asset.h:
* ges/ges-effect-clip.h:
* ges/ges-effect.h:
* ges/ges-enums.h:
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-group.h:
* ges/ges-image-source.h:
* ges/ges-internal.h:
* ges/ges-layer.h:
* ges/ges-meta-container.h:
* ges/ges-multi-file-source.h:
* ges/ges-operation-clip.h:
* ges/ges-operation.h:
* ges/ges-overlay-clip.h:
* ges/ges-pipeline.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-prelude.h:
* ges/ges-project.h:
* ges/ges-screenshot.h:
* ges/ges-smart-adder.h:
* ges/ges-source-clip.h:
* ges/ges-source.h:
* ges/ges-test-clip.h:
* ges/ges-text-overlay-clip.h:
* ges/ges-text-overlay.h:
* ges/ges-timeline-element.h:
* ges/ges-timeline.h:
* ges/ges-title-clip.h:
* ges/ges-title-source.h:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.h:
* ges/ges-track.h:
* ges/ges-transition-clip.h:
* ges/ges-transition.h:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.h:
* ges/ges-utils.h:
* ges/ges-video-source.h:
* ges/ges-video-test-source.h:
* ges/ges-video-track.h:
* ges/ges-video-transition.h:
* ges/ges-video-uri-source.h:
* ges/ges-xml-formatter.h:
* ges/ges.h:
GST_GES_API -> GES_API
2018-03-13 13:45:24 +0000 Tim-Philipp Müller <tim@centricular.com>
* docs/libs/meson.build:
* ges/Makefile.am:
* ges/ges-asset.h:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.h:
* ges/ges-audio-track.h:
* ges/ges-audio-transition.h:
* ges/ges-audio-uri-source.h:
* ges/ges-base-effect-clip.h:
* ges/ges-base-effect.h:
* ges/ges-base-transition-clip.h:
* ges/ges-base-xml-formatter.h:
* ges/ges-clip-asset.h:
* ges/ges-clip.h:
* ges/ges-command-line-formatter.h:
* ges/ges-container.h:
* ges/ges-effect-asset.h:
* ges/ges-effect-clip.h:
* ges/ges-effect.h:
* ges/ges-enums.h:
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-group.h:
* ges/ges-image-source.h:
* ges/ges-internal.h:
* ges/ges-layer.h:
* ges/ges-meta-container.h:
* ges/ges-multi-file-source.h:
* ges/ges-operation-clip.h:
* ges/ges-operation.h:
* ges/ges-overlay-clip.h:
* ges/ges-pipeline.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-prelude.h:
* ges/ges-project.h:
* ges/ges-screenshot.h:
* ges/ges-smart-adder.h:
* ges/ges-source-clip.h:
* ges/ges-source.h:
* ges/ges-test-clip.h:
* ges/ges-text-overlay-clip.h:
* ges/ges-text-overlay.h:
* ges/ges-timeline-element.h:
* ges/ges-timeline.h:
* ges/ges-title-clip.h:
* ges/ges-title-source.h:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.h:
* ges/ges-track.h:
* ges/ges-transition-clip.h:
* ges/ges-transition.h:
* ges/ges-types.h:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.h:
* ges/ges-utils.h:
* ges/ges-video-source.h:
* ges/ges-video-test-source.h:
* ges/ges-video-track.h:
* ges/ges-video-transition.h:
* ges/ges-video-uri-source.h:
* ges/ges-xml-formatter.h:
* ges/ges.h:
* ges/meson.build:
ges: GST_EXPORT -> GST_GES_API
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-11 11:13:05 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/ges-clip.c:
clip: Snapping should happen with one and only one TrackElement
This was leading to clip with TrackElements that were not at the
same position in their container, and weird bugs, see:
https://gitlab.gnome.org/GNOME/pitivi/issues/2133
=== release 1.13.90 ===
2018-03-03 23:09:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.13.90
2018-02-26 04:01:33 +0530 Harish Fulara <harish14143@iiitd.ac.in>
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
Added paste functionality to GESTimeline class
https://bugzilla.gnome.org/show_bug.cgi?id=793820
2018-03-01 18:56:05 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* meson.build:
meson: enable more warnings
2018-02-27 10:00:32 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/layer.c:
test: Plug minor leaks
2018-02-27 15:26:29 +0530 Harish Fulara <harish14143@iiitd.ac.in>
* ges/ges-layer.c:
ges: Fix ges_layer_get_clips_in_interval(start, end) refcount handling
The documentation states that it returns a (transfer full) list
of GESClip but it was returning a (transfer container) list. Make
sure to actually make it (transfer full).
https://bugzilla.gnome.org/show_bug.cgi?id=793874
2018-01-29 17:46:06 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/meson.build:
meson: Explicitely include GObject-2.0 in the gir
2018-02-21 19:42:19 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: simplify GST_DISABLE_GST_DEBUG check some more
2018-02-21 19:20:56 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: don't use add_global_arguments()
.. and tighten check for disabled gst debugging sytem.
add_global_arguments() can't be used in subprojects. It's
entirely possible that ges is a subproject but gstreamer
is picked up from an installed location, so we should
really use add_project_arguments() in both cases.
2018-02-15 19:44:30 +0000 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
* meson.build:
Back to development
=== release 1.13.1 ===
2018-02-15 17:20:22 +0000 Tim-Philipp Müller <tim@centricular.com>
* NEWS:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.13.1
2018-02-08 19:16:26 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: make version numbers ints and fix int/string comparison
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
2018-02-04 12:26:48 +0100 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
autotools: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:35:33 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-11 10:57:30 +0100 Edward Hervey <edward@centricular.com>
* ges/ges-asset.c:
* ges/ges-timeline-element.c:
ges: Fix sizeof() usage
The entries of the array are "gchar *" and not "gchar **"
CID #1427091
CID #1427120
2017-12-20 14:28:33 +0100 Edward Hervey <edward@centricular.com>
* tests/check/ges/asset.c:
check: Fix minor leak in test
2017-12-19 23:28:53 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* ges/ges-smart-adder.c:
* ges/ges-smart-adder.h:
ges-smart-adder: use capsfilter instead of GstAudioMixer:caps
The property has been removed, and using a capsfilter instead
is the appropriate solution.
2017-12-14 14:53:41 +1100 Matthew Waters <matthew@centricular.com>
* common:
Automatic update of common submodule
From e8c7a71 to 3fa2c9e
2017-11-27 11:49:04 +0100 Edward Hervey <edward@centricular.com>
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-effect-asset.c:
* ges/ges-effect.c:
* ges/ges-timeline-element.c:
* ges/ges-uri-asset.c:
* ges/ges-xml-formatter.c:
ges: Fix a bunch of leaks
There are definitely more left, but don't have time for more debugging
2017-11-27 20:18:55 +1100 Matthew Waters <matthew@centricular.com>
* common:
Automatic update of common submodule
From 3f4aa96 to e8c7a71
2017-11-26 13:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
configure: remove c++ compiler bits that are unused
2017-11-26 13:29:33 +0000 Tim-Philipp Müller <tim@centricular.com>
* Makefile.am:
* ges/meson.build:
* meson.build:
* win32/MANIFEST:
* win32/common/libges.def:
win32: remove .def file with exports
They're no longer needed, symbol exporting is now explicit
via GST_EXPORT in all cases (autotools, meson, incl. MSVC).
2017-11-26 13:25:06 +0000 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
autotools: stop controlling symbol visibility with -export-symbols-regex
Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
This should result in consistent behaviour for the autotools and
Meson builds.
2017-11-26 13:26:13 +0000 Tim-Philipp Müller <tim@centricular.com>
* .gitignore:
.gitignore: ignore test registry
2017-11-25 15:56:36 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-clip.c:
uri-clip: Copy previous track elements bindings when setting a new asset
Fixes https://phabricator.freedesktop.org/T7862
2017-11-23 15:49:48 +0100 Edward Hervey <edward@centricular.com>
* tests/check/Makefile.am:
check: Actually define a registry to use for tests
Otherwise every single run of every single test would recreate
a registry
2017-11-07 12:04:03 +0530 Ashish Kumar <kr.ashish@samsung.com>
* ges/ges-asset.c:
* ges/ges-layer.c:
GESAsset, GESLayer: add some function guards
https://bugzilla.gnome.org/show_bug.cgi?id=789521
2017-11-07 11:26:58 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-auto-transition.c:
auto-transition: Fix debug printf format
2017-11-07 10:15:58 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-auto-transition.c:
* ges/ges-timeline.c:
timeline: Do not snap object within the moving context
Reviewed-by: Alex Băluț <<alexandru.balut@gmail.com>>
Differential Revision: https://phabricator.freedesktop.org/D1873
2017-10-31 12:05:08 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/gstframepositioner.c:
* ges/gstframepositioner.h:
ges: Sync 'par' to track restriction caps in the frame positionner
Allowing GES users to have control over how compositing is done
2017-09-20 12:59:40 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-source.c:
ges-source: Fix caps memory leak and compiler warnings when compiling without debug logging
2017-09-07 12:08:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Always execute seeks
We have an optiominisation to avoid double seeks when a seek is passed
the end of the current stack. The problem, is that we no longer flush
the pipeline when this code is reached. This patch comments out this
optimization adding a FIXME. As mention, flushing the stack instead of
seeking would work, but does not seem trivial considering all the
mechanic inplace to forward or not the events.
https://bugzilla.gnome.org/show_bug.cgi?id=787405
2017-09-07 12:08:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Also start task on allocation query
The allocation query may block on the sink when in pause. As a side effect, we
may never get a buffer now that tee does forward the allocation query.
This would often lead in a pipeline stall.
https://bugzilla.gnome.org/show_bug.cgi?id=787405
2017-09-07 12:08:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* tests/validate/scenarios/Makefile.am:
make: Fix validate scenario install directory
2017-09-07 12:07:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* tests/meson.build:
* tests/validate/meson.build:
* tests/validate/scenarios/meson.build:
meson: Install validate helpers and scenarios
This fixes the usage of gst-validate-launcher ges with an installed
version of GES.
2017-08-17 07:28:46 +0000 Stefan Popa <stefanpopa2209@gmail.com>
* ges/ges-track-element.c:
track_element: Always emit "control-binding-removed" signal.
When setting a new control binding on a track element, the old control
binding (if any) is going to be removed. Make sure the
"control-binding-removed" signal is emitted in this case.
Fixes https://phabricator.freedesktop.org/T7340#95666
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1842
2017-08-29 22:23:57 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
* tests/check/ges/backgroundsource.c:
Revert "timeline: Return FALSE when commiting an empty timeline"
This commit means that we do not get ASYNC_DONE anymore when commiting
an empty timeline, which means that we need to special case that.
This actually broke some code and does not bring in much.
Fixes https://phabricator.freedesktop.org/T7802
Fixes https://phabricator.freedesktop.org/T7797
This reverts commit e570d1e08009992a0dd6a24bb4cda4427b2b460f.
Thanks @stefanzzz for investigating!
2017-08-22 14:23:45 +0000 Stefan Popa <stefanpopa2209@gmail.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
xml-formatter: Save encoder and muxer advanced settings
Added support for saving/loading encoder and muxer advanced settings.
Differential Revision: https://phabricator.freedesktop.org/D1837
2017-08-19 11:42:57 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-pipeline.c:
pipeline: Allow up to 2 seconds queueing in the playsink video queue
In playsink the default video queue max size is 3 buffers, which is
sometimes not enough for our use case.
Allow up to 2 seconds of buffered data, giving us more time to do
the transition between clips, and thus avoiding dropping frames in
the sink when bringing up new clip takes too much time.
Differential Revision: https://phabricator.freedesktop.org/D1854
2017-08-18 23:39:38 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
timeline: Add from first element with wanted start to the move context
We need to iterate over the previous element from trackelement_iter
to find the first element that is at the moving point. Several
elements can have the same start as the one initiating the move,
and we need to take all of them into account.
Fixes https://phabricator.freedesktop.org/T7819
2017-08-18 23:18:10 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-validate.c:
validate: Add an action type to ungroup containers
2017-08-17 12:26:24 +0100 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From 48a5d85 to 3f4aa96
2017-08-12 10:04:03 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-video-mixer.h:
* win32/common/libges.def:
Hide ges_smart_mixer_* API
The header file isn't installed anyway.
2017-08-12 10:01:51 +0100 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
configure: bump gst-validate requirement to 1.12.1
For gst_validate_scenario_get_pipeline().
2017-08-11 22:27:48 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: hide symbols by default unless explicitly exported
2017-08-11 21:41:52 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-internal.h:
* tests/check/ges/asset.c:
tests: don't use private debug category in asset test
That will lead to undefined symbol errors once it no
longer gets exported.
2017-08-11 21:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-adder.h:
* ges/ges-smart-video-mixer.h:
* ges/ges-timeline-element.h:
* ges/ges-video-track.h:
ges: sprinkle more GST_EXPORT
2017-08-10 15:05:09 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-smart-video-mixer.c:
* plugins/nle/nlecomposition.c:
smartmixer: Give a unique name to each compositor instances
2017-08-10 21:38:04 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/validate/geslaunch.py:
validate: Check subprocess return code in rendering tests
2017-08-10 15:18:22 +0100 Tim-Philipp Müller <tim@centricular.com>
* tests/validate/geslaunch.py:
validate: fix error message
2017-08-10 13:46:03 +0100 Tim-Philipp Müller <tim@centricular.com>
* docs/libs/meson.build:
* docs/meson.build:
meson: fix a few warnings
2017-08-07 15:35:58 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-asset.h:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.h:
* ges/ges-audio-track.h:
* ges/ges-audio-transition.h:
* ges/ges-audio-uri-source.h:
* ges/ges-base-effect-clip.h:
* ges/ges-base-effect.h:
* ges/ges-base-transition-clip.h:
* ges/ges-base-xml-formatter.h:
* ges/ges-clip-asset.h:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-command-line-formatter.h:
* ges/ges-container.h:
* ges/ges-effect-asset.h:
* ges/ges-effect-clip.h:
* ges/ges-effect.h:
* ges/ges-enums.h:
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-group.h:
* ges/ges-image-source.h:
* ges/ges-internal.h:
* ges/ges-layer.h:
* ges/ges-meta-container.h:
* ges/ges-multi-file-source.h:
* ges/ges-operation-clip.h:
* ges/ges-operation.h:
* ges/ges-overlay-clip.h:
* ges/ges-pipeline.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-project.h:
* ges/ges-screenshot.h:
* ges/ges-smart-video-mixer.h:
* ges/ges-source-clip.h:
* ges/ges-source.h:
* ges/ges-test-clip.h:
* ges/ges-text-overlay-clip.h:
* ges/ges-text-overlay.h:
* ges/ges-timeline-element.h:
* ges/ges-timeline.h:
* ges/ges-title-clip.h:
* ges/ges-title-source.h:
* ges/ges-track-element-asset.h:
* ges/ges-track-element.h:
* ges/ges-track.h:
* ges/ges-transition-clip.h:
* ges/ges-transition.h:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* ges/ges-uri-clip.h:
* ges/ges-utils.h:
* ges/ges-video-source.h:
* ges/ges-video-test-source.h:
* ges/ges-video-track.h:
* ges/ges-video-transition.h:
* ges/ges-video-uri-source.h:
* ges/ges-xml-formatter.h:
* ges/ges.h:
* win32/common/libges.def:
Mark symbols explicitly for export with GST_EXPORT
With two exceptions:
* ges_clip_create_track_elements_func
* ges_uri_clip_set_uri
which were never declared in headers and should always have been static.
2017-08-03 17:03:31 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-video-transition.c:
transition: Fix usage of transition types != crossfade
We need to make sure the crossfade ratio is disabled in that case.
2017-07-10 11:43:11 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-video-transition.c:
video-transition: Make use of the new `compositor::crossfade-ratio` property
To achieve a real transition about to handle several level of layers.
https://bugzilla.gnome.org/show_bug.cgi?id=784827
2017-07-31 14:52:20 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* win32/common/libges.def:
win32: Update .def file
2017-07-31 12:54:25 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-asset.c:
* ges/ges-asset.h:
asset: Add a function to stop proxying an asset
And remove any reference as it beeing a proxy.
2017-07-31 12:55:53 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-asset.c:
asset: Clear loading error when reload is requested
2017-07-27 21:15:34 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Rename segment_start to current_stack_start
It is still not exactly precise, but gives a much better understanding
of what it is.
2016-01-12 17:05:48 +0000 Thibault Saunier <thibault.saunier@osg.samsung.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Properly update segment->start/stop on commit
Otherwise they will just be the ones from the previous seek event/
stack setup and be meaningless.
Also document the priv->segment meaning.
Fixes https://phabricator.freedesktop.org/T7796
2017-07-27 15:57:31 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
timeline: Remove trackelements initating move from the moving context
They are handled specially when moving the context and having them
part of the context can lead to weird behaviours.
Fixes https://phabricator.freedesktop.org/T7693
2017-07-21 16:41:26 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-xml-formatter.c:
xml-formatter: Serialize encoding profiles in reverse order
So they are reloaded in the right order.
2017-07-24 10:32:47 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-pipeline.c:
pipeline: Make sure tracks are unlinked on NULL->NULL state changes
2017-07-24 10:34:48 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-pipeline.c:
* ges/ges-source.c:
Enhance some pad linking issue debug logging.
2017-07-13 16:38:04 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/validate/geslaunch.py:
validate: Fix test names now that the launcher handles adding manager name
2017-07-11 11:40:55 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/tempochange.c:
* tests/check/ges/titles.c:
* tests/check/ges/track.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
tests: Initialize GES only once in the main process
Fixing calling deinit in a process where init was not called
when libcheck is forking.
2017-07-10 21:42:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ges/ges.c:
ges: Ref the GES class to avoid later deadlock
This ensure that that all class are initialized from the main thread,
avoid class initialization in random thread, which may cause deadlocks.
https://bugzilla.gnome.org/show_bug.cgi?id=784769
2017-07-07 12:27:16 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: find python3 via python3 module
https://bugzilla.gnome.org/show_bug.cgi?id=783198
2017-07-03 18:33:39 +0300 Stefan Popa <stefanpopa2209@gmail.com>
* ges/ges-timeline-element.c:
"deep-notify" signal gets emitted only from the main thread
https://bugzilla.gnome.org/show_bug.cgi?id=784414
2017-06-30 16:18:17 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-video-transition.c:
video-transition: Make sure crossfade output never contains alpha
Otherwise it would get mixed with lower layers, which is totally
unexpected.
Fixes T7773
Differential Revision: https://phabricator.freedesktop.org/D1764
2017-06-23 16:18:36 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
meson: Allow using glib as a subproject
2017-06-23 16:04:01 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-asset.c:
* ges/ges-timeline-element.c:
ges: Handle g_object_newv deprecation in latest GLib
2017-06-09 20:15:26 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* Makefile.am:
Don't dist config.meson.h as it no longer exist
2017-06-09 21:37:48 +0100 Tim-Philipp Müller <tim@centricular.com>
* config.h.meson:
* meson.build:
meson: remove config.h.meson
2017-06-07 12:08:00 -0400 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/meson.build:
meson: Do not use path separator in test names
Avoiding warnings like:
WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-04-28 16:41:42 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-validate.c:
validate: Port to new GstValidate API for pipeline retrieval
2017-05-15 09:13:38 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-layer.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
ges: Correctly handling floating references
If we ref_sink() a parameter, it must be marked as (transfer floating)
and it also has to be handled consistently between error and normal cases.
See https://bugzilla.gnome.org/show_bug.cgi?id=782499
https://bugzilla.gnome.org/show_bug.cgi?id=782652
2017-05-16 14:37:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* configure.ac:
* plugins/nle/Makefile.am:
Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-04 18:59:14 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
* meson.build:
Back to development
=== release 1.12.0 ===
2017-05-04 15:43:12 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.12.0
=== release 1.11.91 ===
2017-04-27 17:47:16 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.11.91
2017-04-24 20:30:46 +0100 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From 60aeef6 to 48a5d85
2017-04-10 23:51:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* autogen.sh:
* common:
Automatic update of common submodule
From 39ac2f5 to 60aeef6
=== release 1.11.90 ===
2017-04-07 16:35:23 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
* meson.build:
Release 1.11.90
2017-04-04 16:27:33 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* data/completions/ges-launch-1.0:
completion: Fix previous commit
2017-04-04 16:20:17 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* data/completions/ges-launch-1.0:
completion: Fix listing commands
Executing a single string does not work in this context. Fixed using
a bash function instead.
2017-04-04 15:48:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* data/completions/ges-launch-1.0:
completion: Remove incorrect fixmes
In fact the fixmes are incorrect since these are options that are
available when built against gst-validate, which I didn't. There is
reference to these options in the HELP_SUMMARY that refers to these
options stating "if ges-launch is built with gst-validate ..." and these
get picked by the regex that list the options.
2017-04-04 14:55:18 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* data/completions/ges-launch-1.0:
completion: Update to new gstreamer core helpers
Also fix regressions, and mark lost features and problems with fixmes.
2017-04-02 23:03:18 +0200 Corentin Noël <corentin@elementary.io>
* ges/ges-layer.c:
* ges/ges-pipeline.c:
* ges/ges-timeline.c:
Tiny fixes in the documentation
https://bugzilla.gnome.org/show_bug.cgi?id=780854
2017-03-30 19:57:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* win32/common/libges.def:
Add missing win32 definition
This should fix dist check. ges_layer_get_clips_in_interval() was
added recently but missing from the list.
2017-03-28 14:25:06 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/meson.build:
meson: Use get_pkgconfig_variable instead of calling pkg-config ourself
It is avalaible in meson 0.36 which is now are requirement
Nothing happens on not found dependencies.
2017-03-25 10:47:16 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/meson.build:
meson: test: Fix environment object usage
And make sure to bring -good plugins in.
2017-03-17 19:02:56 +0000 suhas2go <suhas2go@gmail.com>
* ges/ges-layer.c:
* ges/ges-layer.h:
* tests/check/ges/layer.c:
layer: Add ability to get clips in a given interval
Reviewed-by: Alex Băluț <<alexandru.balut@gmail.com>>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1689
2017-03-13 09:30:39 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-audio-source.c:
* ges/ges-title-source.c:
* ges/ges-transition.c:
* ges/ges-video-source.c:
docs: Fix generation using markdown for titles around tables
2017-03-10 19:46:33 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/hotdoc/images/layer_track_overview.png:
* docs/hotdoc/index.md:
* docs/hotdoc/meson.build:
* docs/hotdoc/sitemap.txt:
* docs/meson.build:
Revert "doc: Build documentation with hotdoc"
This reverts commit 8857e004f78ea009e1c87a93da5cf3e25dbde07f.
This was not meant to be pushed yet.
2017-03-10 19:46:24 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/hotdoc/index.md:
* docs/hotdoc/meson.build:
* ges/meson.build:
* meson.build:
Revert "Fhotdoc"
This reverts commit 220618ecc7c061a2146e00e0063123b8dbaeb734.
This was not meant to be pushed.
2017-03-10 19:46:09 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/hotdoc/base-classes.md:
* docs/hotdoc/low_level.md:
* docs/hotdoc/meson.build:
* docs/hotdoc/sitemap.txt:
Revert "HOTDOC"
This reverts commit 5e251483ee6777b6a74a7988b5969bf95f6ecab6.
This was not meant to be pushed.
2017-03-10 19:34:21 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
ges: Minor GESTimeline documentation fix
2017-03-09 17:49:44 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/hotdoc/base-classes.md:
* docs/hotdoc/low_level.md:
* docs/hotdoc/meson.build:
* docs/hotdoc/sitemap.txt:
HOTDOC gi
2017-03-09 13:11:37 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-asset.h:
* ges/ges-extractable.h:
extractable: Typedef only in its own .h
2017-03-08 18:26:42 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/hotdoc/index.md:
* docs/hotdoc/meson.build:
* ges/meson.build:
* meson.build:
Fhotdoc
2017-03-08 18:13:48 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-asset.c:
* ges/ges-audio-source.c:
* ges/ges-audio-test-source.c:
* ges/ges-audio-track.c:
* ges/ges-audio-transition.c:
* ges/ges-audio-uri-source.c:
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect.c:
* ges/ges-base-transition-clip.c:
* ges/ges-clip-asset.c:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-enums.c:
* ges/ges-extractable.c:
* ges/ges-formatter.c:
* ges/ges-gerror.h:
* ges/ges-group.c:
* ges/ges-image-source.c:
* ges/ges-layer.c:
* ges/ges-layer.h:
* ges/ges-multi-file-source.c:
* ges/ges-operation-clip.c:
* ges/ges-operation.c:
* ges/ges-overlay-clip.c:
* ges/ges-pipeline.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-project.c:
* ges/ges-source-clip.c:
* ges/ges-source.c:
* ges/ges-test-clip.c:
* ges/ges-test-clip.h:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay-clip.h:
* ges/ges-text-overlay.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
* ges/ges-track-element-asset.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-transition.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-clip.c:
* ges/ges-utils.c:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-track.c:
* ges/ges-video-transition.c:
* ges/ges-video-uri-source.c:
docs: Port all docstring to gtk-doc markdown
2017-03-08 18:02:47 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/hotdoc/images/layer_track_overview.png:
* docs/hotdoc/index.md:
* docs/hotdoc/meson.build:
* docs/hotdoc/sitemap.txt:
* docs/meson.build:
doc: Build documentation with hotdoc
2017-03-06 08:53:00 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
* tests/check/ges/backgroundsource.c:
timeline: Return FALSE when commiting an empty timeline
Meaning that ASYNC_DONE/COMMITED is always emited when TRUE is returned
2017-02-28 15:39:27 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/gstframepositioner.c:
framepositioner: Prevent division by zero
CID 1369046
CID 1369047
2017-02-28 15:36:46 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-timeline.c:
ges-timeline: Document intentional case-fall-through
CID 1364754
2017-02-28 13:02:44 +0200 Sebastian Dröge <sebastian@centricular.com>
* examples/c/ges-ui.c:
ges-ui: Ensure that string is \0-terminated
CID 1320699
2017-02-28 12:59:35 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-project.c:
ges-project: Check for set/unset error correctly by dereferencing
... or simply calling g_clear_error() on it which does that for us.
CID 1257630
2017-02-28 12:50:31 +0200 Sebastian Dröge <sebastian@centricular.com>
* examples/c/ges-ui.c:
examples/ges-ui: Remove useless NULL check
g_new0() will abort if allocation fails.
CID 1139842
2017-02-24 15:44:36 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-container.h:
* ges/ges-internal.h:
* ges/ges-uri-asset.h:
* win32/common/libges.def:
ges: Keep internal symbols internal
The following implementation details where exposed as public symbols:
- _ges_container_get_priority_offset
- _ges_container_set_height
- _ges_container_set_priority_offset
- _ges_uri_asset_cleanup
but it was not correct and that should never have been used outside
GES.
Moving those declarations to the internal header and marking as
internal.
2017-02-24 16:00:09 +0200 Sebastian Dröge <sebastian@centricular.com>
* meson.build:
meson: Update version
2017-02-24 15:37:55 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.11.2 ===
2017-02-24 15:10:01 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.11.2
2017-02-15 12:52:24 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
* meson_options.txt:
meson: Add an option to disable doc generation
2017-02-15 12:51:51 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-meta-container.c:
Minor documentation fix
2017-02-15 00:58:52 +0000 Tim-Philipp Müller <tim@centricular.com>
* Makefile.am:
meson: dist meson build files
Ship meson build files in tarballs, so people who use tarballs
in their builds can start playing with meson already.
2017-02-07 11:18:58 +0100 Edward Hervey <edward@centricular.com>
* win32/common/libges.def:
win32: Update def file
2017-02-06 13:18:32 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
* tests/check/ges/mixers.c:
mixers: fix leaks in tests
- GstMessage and GstBus references were lost
- Need to call gst_bus_remove_signal_watch() for each
gst_bus_add_signal_watch_full() call
https://bugzilla.gnome.org/show_bug.cgi?id=778248
2017-02-06 10:05:11 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-meta-container.c:
ges-meta: Minor documenation fix
2017-02-06 12:07:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/asset.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/mixers.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/tempochange.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/track.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/check/nle/complex.c:
* tests/check/nle/nlecomposition.c:
* tests/check/nle/nleoperation.c:
* tests/check/nle/simple.c:
* tests/check/nle/tempochange.c:
introduce ges_deinit()
GstDiscoverer objects were leaked by tests making the leaks detector
unusable.
Introduce ges_deinit(), similiar to gst_deinit(), doing some cleanup
before exiting the process.
https://bugzilla.gnome.org/show_bug.cgi?id=776805
2017-02-04 20:15:55 +0000 namanyadav12 <namanyadav128@gmail.com>
* ges/ges-uri-asset.c:
uri-clip-asset: Add file-size metadata
Add file-size metadata to GESUriClipAsset.
Reviewed-by: Thibault Saunier <thibault.saunier@osg.samsung.com>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1645
2017-02-03 12:50:11 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
timeline: Cleanup the moved_clip list before rolling back
Otherwise we might end up using an already freed pointer
Differential Revision: https://phabricator.freedesktop.org/D1640
2017-01-13 12:41:51 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Revert "meson: don't use subproject fallback for gst-validate if it won't work"
This reverts commit 6760e5e0b1b2f28fb04e9c430506af56c15432b9.
This was not supposed to be pushed and should not be needed any more.
2017-01-13 12:39:42 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: bump version
2016-10-29 16:24:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: don't use subproject fallback for gst-validate if it won't work
gst-validate has a hard-dep on json-glib-1.0 so maintain optionality of
it all by only dragging it in as a fallback if we know we can satisfy
the dependencies.
2017-01-12 16:33:06 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.11.1 ===
2017-01-12 16:20:08 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.11.1
2017-01-09 12:12:34 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-clip.c:
* ges/ges-timeline-element.c:
* tests/check/ges/timelineedition.c:
clip: Make sure that clip start change is notified before children changes
Fixes https://phabricator.freedesktop.org/T7577
Differential Revision: https://phabricator.freedesktop.org/D1600
2016-10-19 15:36:49 +0000 Alexandru Băluț <alexandru.balut@gmail.com>
* tests/check/python/test_timeline.py:
tests_: Check the order of signals when a transition is created
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1391
2016-12-21 12:22:31 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-asset.c:
asset: Fix set_proxy to abort when an error happens
Differential Revision: https://phabricator.freedesktop.org/D1574
2016-12-21 11:39:12 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-asset.c:
asset: Reuse local variable
Differential Revision: https://phabricator.freedesktop.org/D1573
2017-01-04 15:55:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
* pkgconfig/Makefile.am:
* pkgconfig/gst-editing-services-uninstalled.pc.in:
* pkgconfig/meson.build:
meson: generate pkg-config -uninstalled pc files
Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=776810
2016-12-23 15:08:06 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tools/utils.c:
ges-launch: Use standard GstEncodingProfile deserialization function
2016-12-22 10:00:06 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/validate/geslaunch.py:
validate: Remove space breaking muting ges-launch
2016-12-22 09:48:58 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-smart-video-mixer.c:
* ges/ges-video-transition.c:
video-mixer: Fix the way we release mixer pads
We were using the actual mixer pad to release the smart mixer
pad, which seemed to be on purpose, but was not properly handle,
moreover, it is now forbiden to pass a pad not inside a GstElement
when releasing it.
Also properly remove ghost pads from Smart mixer, we were planly
failling at it.
2016-12-22 08:44:07 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tools/meson.build:
meson: Install ges-launch
2016-12-16 17:29:59 +0000 Tim-Philipp Müller <tim@centricular.com>
* .gitignore:
* Makefile.am:
* configure.ac:
* gst-editing-services.spec.in:
Remove generated .spec file
Likely extremely bitrotten, and we should not ship this anyway.
2016-12-16 14:04:06 -0300 Thibault Saunier <tsaunier@gnome.org>
* tests/check/Makefile.am:
* tests/check/ges/text_properties.c:
* tests/check/meson.build:
tests: Remove now meaningless empty testsuite
2016-12-13 16:05:17 +0100 Antonio Ospite <ao2@ao2.it>
* tools/Makefile.am:
* tools/ges-launch-1.0.1:
* tools/meson.build:
ges: add a basic unix man page for ges-launch-1.0
Do not list all the possible options in the man page but only the help
options.
This is in order to avoid duplication and prevent the man page from
becoming obsolete in case the options change in the code but do not get
updated in the man page.
https://bugzilla.gnome.org/show_bug.cgi?id=776063
2016-12-13 15:10:26 +0100 Antonio Ospite <ao2@ao2.it>
* ges/ges.c:
ges: fix the description of the --help-GES command line option
Use "Show GES Options" which is more appropriate and avoids duplication
with --help-gst which already says "Show GStreamer Options".
https://bugzilla.gnome.org/show_bug.cgi?id=776063
2016-12-12 16:59:08 -0300 Thibault Saunier <tsaunier@gnome.org>
* tests/check/ges/uriclip.c:
tests: Make sure tests can be listed
Initializing GstCheck before creating the testsuite
2016-12-13 23:26:23 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tools/ges-launcher.c:
ges-launch: Make sure GStreamer is always initialized
https://bugzilla.gnome.org/show_bug.cgi?id=776064
2016-12-09 17:50:28 -0300 Thibault Saunier <tsaunier@gnome.org>
* meson.build:
meson: Support building without Gst debug
2016-12-03 08:21:07 +0100 Edward Hervey <bilboed@bilboed.com>
* common:
Automatic update of common submodule
From 1416c16 to 39ac2f5
2016-12-01 17:08:43 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
element: Rework set_child_property_by_pspec
It was making no sense to loose the information about the pspec itself
to retrieve the child associated to it and was failling when we were
forcing the AssociateType::prop synthax
2016-12-01 15:46:51 -0300 Thibault Saunier <tsaunier@gnome.org>
* tests/check/nle/nleoperation.c:
test:nle: Soften check on refcount
The composition might already have taken a new ref processing the
source.
2016-11-30 09:53:38 -0300 Thibault Saunier <tsaunier@gnome.org>
* plugins/nle/nlecomposition.c:
nlecomposition: Deactivate current stack in PAUSED_READY state
To avoid a race when tearing down the composition (PAUSED_TO_READY),
we should make sure to tear down the current stack and let the GstBin
class handle the remaining thing to do during the change state.
We should still ignore any error happening when tearing down the
bin state just in case.
https://bugzilla.gnome.org/show_bug.cgi?id=775051
2016-11-30 09:53:21 -0300 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Deinit Gst before exiting
2016-11-29 10:37:11 -0300 Thibault Saunier <tsaunier@gnome.org>
* meson.build:
meson: Do not print error logs when building the gir
2016-11-28 17:07:39 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* examples/c/assets.c:
examples: remove #include <ges-internal.h> from assets.c
It is not needed and pulling it in is causing a link problem with msvc.
Including ges-internal.h sets the default debug category in assets.c to
_ges_debug. Because _ges_debug is marked as DATA in the libges.def, it
will only be linked from libges.dll if it is marked in the source with
dllimport. Instead of messing with that we can just remove this include.
https://bugzilla.gnome.org/show_bug.cgi?id=775295
2016-11-26 11:25:41 +0000 Tim-Philipp Müller <tim@centricular.com>
* .gitmodules:
common: use https protocol for common submodule
https://bugzilla.gnome.org/show_bug.cgi?id=775110
2016-11-23 18:42:27 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-timeline.c:
ges-timeline: Properly calculate absolute diff of two unsigned integers
CID 1394491.
2016-11-23 18:28:35 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges.c:
ges: Add NULL check before dereferencing
CID 1394494.
2016-11-20 15:34:46 +0100 Philippe Renon <philippe_renon@yahoo.fr>
* ges/ges-uri-asset.c:
ges-uri-asset: fix compile error 'timeout' may be used uninitialized
https://bugzilla.gnome.org/show_bug.cgi?id=774751
2016-11-18 10:21:45 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* Makefile.am:
* win32/MANIFEST:
* win32/common/libges.def:
make: include common/win32.mak
With the addition of the .def file for libges we need to make
sure the check-export script from common gets executed so that the
.def stays up to date.
https://bugzilla.gnome.org/show_bug.cgi?id=774641
2016-11-18 16:55:17 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* common:
Update common submodule
2016-11-17 10:31:50 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* ges/meson.build:
* meson.build:
* win32/common/libges.def:
Enable building with MSVC
https://bugzilla.gnome.org/show_bug.cgi?id=774641
2016-11-17 10:40:05 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* ges/gstframepositioner.c:
Cast away const from GstMetaInfo in *_get_meta_info() functions
MSVC warns about the const in the implicit argument conversion in the
calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.
https://bugzilla.gnome.org/show_bug.cgi?id=774641
2016-11-17 10:39:01 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* ges/ges-formatter.c:
* ges/ges-validate.c:
Pass gint/guint pointers instead of enum pointers
The underlying integer type for enums are implementation defined and may
not be the same size as gint/guint. So implicitly casting from pointers-
to-enum-types to pointers-to-int-types is unsafe. MSVC warns on these.
https://bugzilla.gnome.org/show_bug.cgi?id=774641
2016-11-17 10:35:50 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* ges/ges-command-line-formatter.c:
* ges/parse.l:
parse: Don't #include <unistd.h>
It isn't needed and isn't present in non-posix environments like windows
with MSVC or mingw.
https://bugzilla.gnome.org/show_bug.cgi?id=774641
2016-11-17 09:40:38 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlecomposition.c:
Revert "nlecomposition: Start task and initialize the stack after chaining up to parent's change state function"
This reverts commit 57d40bec1a3c5048baaad08403d7b7e641a9c55c.
Apparently it causes timeouts in the unit tests on Jenkins and
Thibault's machine, and in the gst-validate tests.
Caused by elements staying in PAUSED and waiting to be set to PLAYING.
Needs further investigation.
2016-11-17 09:40:33 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nleobject.c:
Revert "nleobject: Start up in NULL->READY->PAUSED after the parent class did"
This reverts commit 5f7943c59d9def8c2dc9983936463462c1cdf63f.
2016-11-16 18:11:00 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nleobject.c:
nleobject: Start up in NULL->READY->PAUSED after the parent class did
This keeps everything in a more consistent order and makes sure that the
base class is already set up completely before we start doing anything.
It also prevents from doing any setup if the base class fails, and
possibly not shutting things down again then.
https://bugzilla.gnome.org/show_bug.cgi?id=774480
2016-11-15 17:56:00 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Start task and initialize the stack after chaining up to parent's change state function
Otherwise we could set the state of the children to PAUSED already (i.e.
start dataflow) from the composition's task, while the composition
itself is currently chaining up to the parent class' change state
function and did not activate the pads yet. This causes buffers and
events to be discarded, and everything to stop with a not-negotiated
error.
https://bugzilla.gnome.org/show_bug.cgi?id=774480
2016-11-15 18:34:44 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/meson.build:
* tests/check/nose2-junit-xml.cfg.in:
tests: Fix running python unit tests
Adding missing nose2-junit-xml.cfg.in file and minor fixes in
the way we call nose2 also making sure the .xunit files end
up in the right place.
2016-11-15 15:09:10 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-uri-asset.c:
* ges/ges.c:
ges: Check if GstDiscoverer could be created at init time
And fail initialization if it is not the case, we make the assumption
it worked all around the codebase so we should really concider it fatal.
2016-11-10 15:17:50 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Fix small remaining race in previous commit
The seek action might currently be handled (in which case it is not in
the actions list and the action lock is not locked), but not actually
handled completely yet (the seqnum is not stored yet).
To prevent this, we remember what the current action is that is being
handled, and also compare to that.
https://bugzilla.gnome.org/show_bug.cgi?id=774149
2016-10-19 16:34:56 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* configure.ac:
* tests/check/Makefile.am:
* tests/check/meson.build:
tests_: Use nose2 instead of nosetests
Differential Revision: https://phabricator.freedesktop.org/D1394
2016-10-19 12:36:45 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
ges: Fix documentation and debug comments
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1393
2016-01-12 14:51:55 +0000 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-timeline.c:
* tests/check/ges/timelineedition.c:
* tests/check/python/test_clip.py:
* tests/check/python/test_timeline.py:
timeline: reimplement snap_to_position a bit more appropriately.
It could yet be made be simpler, but it would require
touching the rest of the timeline editing code.
Fixes https://phabricator.freedesktop.org/T7587
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D657
2016-11-09 17:14:19 +0200 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlecomposition.c:
nlecomposition: De-duplicate seek events based on their sequence number
If there are e.g. multiple video sinks, we would get the same seek event
multiple times. But we only want to handle it once.
https://bugzilla.gnome.org/show_bug.cgi?id=774149
2016-11-07 18:01:51 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/validate/geslaunch.py:
test:validate: Port to python3
2016-11-09 11:48:09 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-timeline.c:
ges-timeline: Fix typo in debug messages
2016-10-08 10:43:07 +0200 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
* tests/check/python/test_timeline.py:
timeline: Avoid creating extra transition when rippling clips
In some cases when rippling clip we could get the algo lost because
a transition existed between two clips (for example at the end of c1
and at the begining of c2) but while rippling it would have required
a transition at the end of c2 and beginning of c1, and we were properly
not destroying the old one (as the two clips were in the moving context)
but we were still creating the other transition in the end...
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1362
2016-10-07 15:31:40 +0200 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-timeline.c:
* tests/check/python/test_timeline.py:
timeline: Make sure transitions between rippled clips are never deleted
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1361
2016-10-06 19:14:57 +0200 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-layer.c:
* ges/ges-timeline.c:
* tests/check/python/test_timeline.py:
timeline: Destroy transition if a neighbor is not being moved to a layer
And make sure that we move the transition to the right layer, not trying
to figure it out.
Differential Revision: https://phabricator.freedesktop.org/D1360
2016-10-06 14:00:23 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* tests/check/python/test_clip.py:
* tests/check/python/test_timeline.py:
tests_: Check transition is gone when editing clip to another layer
Differential Revision: https://phabricator.freedesktop.org/D1359
2016-11-04 14:41:13 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
meson: Unset the plugin paths to generate the .gir files
Avoiding problems when using subproject:
'Failed to load plugin something.so file too short'
2016-11-01 18:10:47 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: update version
=== release 1.11.0 ===
2016-11-01 18:53:15 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.10.0 ===
2016-11-01 18:12:35 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.10.0
2016-10-25 08:54:11 -0700 Scott D Phillips <scott.d.phillips@intel.com>
* meson.build:
meson: Don't depend on gstreamer-check-1.0 on windows
https://bugzilla.gnome.org/show_bug.cgi?id=773114
2016-10-25 11:48:35 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
* tests/check/meson.build:
Revert "meson: move gstreamer-check-1.0 dependency to tests/check"
This reverts commit 5665c2bfc9cae531c6dd9a75766d06a4af25ab9a.
Does not actually work. See:
https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31
2016-10-21 05:49:18 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
* tests/check/meson.build:
meson: move gstreamer-check-1.0 dependency to tests/check
2016-10-17 09:34:27 -0700 Scott D Phillips <scott.d.phillips@intel.com>
* meson.build:
meson: mark gstreamer-check-1.0 as required: false
2016-10-15 22:21:24 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
meson: Don't set c_std to gnu99
Use the default for each compiler on every platform instead. This
improves our compatibility with compilers that don't have gnu99 as
a c_std.
2016-10-03 17:44:04 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
* tests/check/getpluginsdir:
* tests/check/meson.build:
meson: Use environment object to setup test environment variables
Bump meson requirement to 0.35
2016-10-11 00:59:47 +0200 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/ges-clip.c:
* ges/ges-track-element.c:
track-element: Avoid dereferencing NULL pointer
We set TrackElement track type very early when creating effects
so it now uses that information to find TrackElement in clips
by track type.
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1370
2016-09-13 12:31:54 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/meson.build:
meson: Add python tests
2016-09-30 11:35:42 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* hooks/pre-commit.hook:
* meson.build:
* tests/check/getpluginsdir:
meson: Setup pre commit hook and fix getpluginsdir for standalone case
2016-09-30 14:56:48 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: update version
=== release 1.9.90 ===
2016-09-30 13:04:39 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.9.90
2016-09-23 20:41:04 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* docs/libs/meson.build:
* docs/meson.build:
* ges/meson.build:
meson: Fix gtkdoc using new meson features
2016-09-21 16:41:31 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/meson.build:
meson: Fix installing configured files
2016-08-13 19:54:22 -0400 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-uri-clip.c:
uriclip: Remove some filesource leftovers
Differential Revision: https://phabricator.freedesktop.org/D1329
2016-08-13 21:09:53 -0400 Thibault Saunier <tsaunier@gnome.org>
* tests/check/python/__init__.py:
* tests/check/python/common.py:
* tests/check/python/test_clip.py:
* tests/check/python/test_group.py:
* tests/check/python/test_timeline.py:
tests_:python: Factor out common code
Differential Revision: https://phabricator.freedesktop.org/D1328
2016-09-17 09:46:59 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* plugins/nle/nlecomposition.c:
nle: Drop tags getting out of the composition
Those tag are meaningless in for the new stream created by the composition
First step toward fixing T3070
Differential Revision: https://phabricator.freedesktop.org/D1327
2016-08-11 15:12:07 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
* tests/check/python/test_group.py:
timeline: Properly compute the end of groups when checking snapping
Computation was not taking into account the fact that the start of
the element being moved could be at the middle of a group and not
necessarily at the start!
Fixes T7544
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1282
2016-08-11 13:19:44 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-auto-transition.c:
* tests/check/python/test_group.py:
ges: Handle moving groups with effects inside
We were only concidering that we should let the group handle moving
transitions when changing transitions but in fact as soon as a
transition is happenning between two clips that are in a same group
the group properly handles moving the transition, so let the
group do its job.
Fixes T7543
Differential Revision: https://phabricator.freedesktop.org/D1281
2016-08-11 10:54:08 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
ges: Deprecate GESTimelineElement::priority writability
GESLayer is now responsible for setting clips priorites. Also
GESClip top effects priorities are now set by the
ges_clip_set_top_effect_index method, the user should never call
ges_timeline_element_set_priority as it will anyway be overriden
by GES itself.
Differential Revision: https://phabricator.freedesktop.org/D1280
2016-08-11 10:36:44 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-layer.c:
layer: Handle operation priorities
All operations should have higher priorites and sources should be
on top of those. We now first set the operations priorities in
a first pass and then stack sources on top of those.
Differential Revision: https://phabricator.freedesktop.org/D1279
2016-08-11 09:53:58 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-transition.c:
ges: transition: Make crossfade fade out at the same time as it fade in
Until now fade out was just fading in the new clip, but this is not
correct and crossfade should at the same time fade out while fading
in.
Fixes https://phabricator.freedesktop.org/T3451
Differential Revision: https://phabricator.freedesktop.org/D1278
2016-08-11 09:42:32 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-timeline.c:
layer: Make sure to resync priorities on commit
In case effects have been added priorites might become wrong,
but until the timeline is not commited, it does not matter.
Make sure all priorities are correct before commiting compositions
Differential Revision: https://phabricator.freedesktop.org/D1277
2016-08-11 09:14:42 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-auto-transition.c:
* ges/ges-layer.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/titles.c:
* tests/check/ges/uriclip.c:
* tests/check/python/test_clip.py:
Finally move clip priority handling to GESLayer.
Fix all tests as we now have 1 priority inside the layer
dedicated to transitions (basically no source clip will
ever have a priority of 0 inside a layer).
Differential Revision: https://phabricator.freedesktop.org/D1276
2016-08-11 08:54:23 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* tests/check/ges/effects.c:
clip: Make top effect priority inside the clip priority range
And simplify the way we start computing children priority
making min_priority already relative to the clip itself.
Differential Revision: https://phabricator.freedesktop.org/D1275
2016-08-11 07:54:42 -0400 Thibault Saunier <tsaunier@gnome.org>
* tests/check/ges/timelineedition.c:
tests_: timelineedition: Fix test now that we ripple from start and not from end
Differential Revision: https://phabricator.freedesktop.org/D1274
2016-09-22 11:28:21 -0400 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Don't try to seek on an empty stack
We would seek on a NULL pad then, which gives ugly assertions.
https://bugzilla.gnome.org/show_bug.cgi?id=771843
2016-09-22 11:25:18 -0400 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nleurisource.c:
* plugins/nle/nleurisource.h:
nleurisource: Always provide a srcpad
By putting uridecodebin into a bin with a ghostpad. Without this,
nlesource tries to get a srcpad too early (before uridecodebin added
one) and everything fails miserably.
This has to be fixed properly in nlesource at some point, by properly
handling dynamically added pads. Currently they can only work if they
are added in states <= READY, which is not the usual case.
https://bugzilla.gnome.org/show_bug.cgi?id=771843
2016-09-21 18:23:56 -0400 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlesource.c:
nlesource: Fail prepare() if no valid source pad is found
https://bugzilla.gnome.org/show_bug.cgi?id=771792
2016-09-14 14:32:19 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tools/utils.c:
ges-launch: Be a bit more agressive sanitizing arguments
Otherwise GstStructure might fail parsing some fields
containing brackets
https://bugzilla.gnome.org/show_bug.cgi?id=771434
2016-09-14 11:31:23 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
configure: Depend on gstreamer 1.9.2.1
2016-09-06 14:27:38 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-xml-formatter.c:
* tests/check/python/common.py:
* tests/check/python/test_group.py:
* tests/check/python/test_timeline.py:
timeline: Make get_groups public
Had to separate timeline_emit_group_added from timeline_add_group
to avoid emitting group-added when the project is being loaded.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1302
2016-09-06 15:49:49 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* tests/check/python/test_group.py:
tests_: Make sure child-removed is emitted when ungrouping
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1301
2016-09-06 13:03:11 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-timeline.c:
timeline: Fix documentation
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1300
2016-09-05 12:23:30 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* README:
Remove obsolete dependency
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1299
2016-09-10 20:52:38 +1000 Jan Schmidt <jan@centricular.com>
* autogen.sh:
* common:
Automatic update of common submodule
From b18d820 to f980fd9
2016-09-10 09:58:37 +1000 Jan Schmidt <jan@centricular.com>
* autogen.sh:
* common:
Automatic update of common submodule
From f49c55e to b18d820
2016-09-09 17:14:43 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/Makefile.am:
tests: Move -DGES_TEST_FILES_PATH to common_cflags
As it is needed to build the utils lib
2016-09-09 16:42:13 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/Makefile.am:
* tests/check/ges/test-utils.c:
* tests/check/meson.build:
tests: Fix the way we get tests assets
Using __FILE__ won't work properly with meson.
2016-09-09 08:52:32 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* ges/meson.build:
* tests/validate/geslaunch.py:
test:validate: Handle new expected_failures Test argument
2016-09-07 16:53:06 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
* tests/check/meson.build:
meson: Do not build libges against libcheck
2016-09-05 17:55:42 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/check/getpluginsdir:
* tests/check/meson.build:
meson: Properly find where other GStreamer plugins are when using subprojects
2016-09-05 14:54:53 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* tests/validate/geslaunch.py:
Revert "validate: Blacklist racy tests"
This reverts commit ce35412ff260fbd6e07b374bc3ca677053c277e0.
https://bugzilla.gnome.org/show_bug.cgi?id=769894 has been fixed
2016-08-26 19:55:33 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/meson.build:
* meson.build:
* meson_options.txt:
meson: Handle building the gir file when used as subproject
Add support for building GIR when used as subproject
Add an option to disable GIR generation
And bump version to 1.9.2
2016-09-01 12:33:22 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.9.2 ===
2016-09-01 12:33:13 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.9.2
2016-08-25 15:04:54 -0300 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/meson.build:
* meson.build:
meson: doc: Fix building documentation when using subprojects
And check the presence of gtk-doc before building the documentation
2016-08-25 10:06:51 +0300 Sebastian Dröge <sebastian@centricular.com>
* .gitignore:
* ges/Makefile.am:
ges: Rename parse_lex.h to ges-parse-lex.h
Fixes the build and makes it consistent with the meson build system.
2016-08-04 17:33:55 -0400 Thibault Saunier <tsaunier@gnome.org>
* .gitignore:
* config.h.meson:
* docs/libs/meson.build:
* docs/meson.build:
* examples/c/meson.build:
* examples/meson.build:
* ges/ges-command-line-formatter.c:
* ges/meson.build:
* meson.build:
* pkgconfig/meson.build:
* plugins/meson.build:
* plugins/nle/meson.build:
* tests/check/meson.build:
* tests/meson.build:
* tools/meson.build:
Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
2016-08-18 18:43:08 +0200 Philippe Renon <philippe_renon@yahoo.fr>
* ges/ges-track-element.c:
ges-track-element: fix typos in control_binding_removed signal declaration
https://bugzilla.gnome.org/show_bug.cgi?id=770101
2016-08-14 17:45:16 +0200 Edward Hervey <edward@centricular.com>
* tests/validate/geslaunch.py:
validate: Blacklist racy tests
See https://bugzilla.gnome.org/show_bug.cgi?id=769894
2016-08-14 17:44:36 +0200 Edward Hervey <edward@centricular.com>
* ges/ges-timeline.c:
ges-timeline: Demote some debugging statements
locking should be in a lower level to avoid too many messages
2016-08-13 11:08:34 +0200 Edward Hervey <edward@centricular.com>
* ges/ges-timeline-element.c:
timeline-element: Reset pointer after freeing
dispose can be called multiple times, make sure we don't call functions
on free'd pointers.
2016-08-03 11:40:30 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/gstframepositioner.c:
* tests/check/ges/timelineedition.c:
ges: Do not rescale videos if the track aspect ratio changes
Differential Revision: https://phabricator.freedesktop.org/D1242
2016-08-02 16:42:20 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
* ges/ges-video-source.c:
* ges/ges-video-source.h:
* ges/gstframepositioner.c:
* ges/gstframepositioner.h:
ges: Let the compositor do the scaling if mixing is enabled
Differential Revision: https://phabricator.freedesktop.org/D1241
2016-08-01 12:55:07 -0400 Thibault Saunier <tsaunier@gnome.org>
* tests/validate/geslaunch.py:
tests:validate: Also test opus and theora in OGG
2016-07-29 15:48:28 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
* tests/validate/geslaunch.py:
validate: Start also testing jpeg encoding
2016-07-28 21:50:58 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Keep transitions when moving the moving context between layers
Differential Revision: https://phabricator.freedesktop.org/D1225
2015-10-15 22:13:30 +0000 Justin Kim <justin.kim@collabora.com>
* tools/ges-launcher.c:
ges-launcher: don't leak project uri string
ges_project_get_uri returns a cloned string so it should
be free'd after usage.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D381
2016-07-28 19:30:28 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
* tests/check/ges/layer.c:
timeline: Ripple from start of clips and not the end.
Fixes https://phabricator.freedesktop.org/T7503
2016-07-28 17:23:31 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-enums.c:
* ges/ges-enums.h:
enums: Fix absolute text overlay alignment value
It needs to be in sync with GstBaseTextOverlayHAlign order.
2016-07-28 16:04:42 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
title-source: Properly implement GESTimelineElement->lookup_child
GESTrackElement->lookup_child is deprecated and should be avoided
as much as possible.
2016-07-28 16:02:05 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
clip: Reimplement look_child and iterate over children if needed
Otherwise in the case where children reimplement lookup_child to
handle some property renaming lookup fails.
2016-07-28 14:24:07 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-command-line-formatter.c:
* ges/ges-command-line-formatter.h:
* ges/ges-internal.h:
* tools/ges-launch.c:
tools: Fix printing commands help
2016-07-26 14:05:06 -0400 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges:validate: Check that no extra decoding happens
2016-07-26 11:59:39 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-audio-uri-source.c:
* ges/ges-video-uri-source.c:
uri-sources: Make sure to set decodebin 'caps' property
Fixes a regression where we decode streams twice,
this was introduced when we started creating NLE
object at GESTrackElement construct time.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=769193
2016-07-24 08:32:06 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Emit snap-ended on commit if needed
Commiting the timeline means that the current operations on the clips are over,
so we should concider snapping as done at that point
Fixes T7499
2016-06-26 12:23:40 +0530 Mohan R <mohan43u@gmail.com>
* ges/Makefile.am:
fixed ges-version.h not found issue during out of tree build
2016-07-22 07:32:51 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-image-source.c:
image-source: Do not concider inpoints
We have no restriction on inpoint for Images
Differential Revision: https://phabricator.freedesktop.org/D1202
2016-07-15 08:57:28 -0400 Thibault Saunier <tsaunier@gnome.org>
* tests/validate/geslaunch.py:
tests:validate: Better choose tested rendering formats
2016-07-11 21:16:11 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From f363b32 to f49c55e
2016-07-06 13:51:18 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.9.1 ===
2016-07-06 13:45:17 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.9.1
2016-06-29 00:39:02 +0000 Justin Kim <justin.kim@collabora.com>
* tools/ges-launch.c:
ges-launch: unref GApplication properly
Differential Revision: https://phabricator.freedesktop.org/D380
2016-06-29 00:38:36 +0000 Justin Kim <justin.kim@collabora.com>
* ges/ges-project.c:
project_: improve get_uri doc
The return value of ges_project_get_uri should be freed
after usage.
Differential Revision: https://phabricator.freedesktop.org/D1142
2016-06-21 11:49:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* common:
Automatic update of common submodule
From ac2f647 to f363b32
2016-06-20 21:29:44 -0400 Thibault Saunier <tsaunier@gnome.org>
* tests/check/Makefile.am:
tests: Make sure to run python tests against the build in tree
2016-06-18 16:16:00 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-timeline.c:
* ges/ges-uri-clip.c:
* tests/check/ges/basic.c:
* tests/check/python/test_clip.py:
ges: Don't remove track elements from clips when removing from layer
And reuse the same previously created element when adding the clip
back to a layer, avoiding losing all setting done on clip children
in that situation
This is a behaviour change but previous behaviour was actually totally
unexpected and people working around that weird behaviour will moste
probably not care about that change
Differential Revision: https://phabricator.freedesktop.org/D1094
2016-06-20 14:00:07 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-clip.c:
* tests/check/python/test_clip.py:
title_: Do not forget to link up child_added/removed vmethod
Otherwise effect handling is broken
Differential Revision: https://phabricator.freedesktop.org/D1099
2016-06-19 20:02:06 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-auto-transition.c:
* tests/check/python/test_group.py:
auto-transitions: Do not remove auto transitions when moving neighboor from the same group
Differential Revision: https://phabricator.freedesktop.org/D1097
2016-05-14 19:33:05 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-container.c:
* ges/ges-timeline-element.c:
ges: fix various leaks with usage of ges_timeline_element_lookup_child
Some callers forgot to unref out child, pspec or both leading to leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=766449
2016-05-14 19:02:57 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-video-track.c:
video-track: don't leak restriction caps in _sync_capsfilter_with_track()
https://bugzilla.gnome.org/show_bug.cgi?id=766450
2016-06-06 17:44:15 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-uri-asset.c:
ges-uri-asset: GstDiscoverer can return a valid info but a non-OK result, consider this an error
The asynchronous case in ges_uri_clip_asset_request_async() already considered
it an error, do the same in ges_uri_clip_asset_request_sync().
https://bugzilla.gnome.org/show_bug.cgi?id=767293
2016-05-31 12:09:44 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/nle/nlecomposition.c:
nlecomposition: Fix race condition in seek handling causing deadlocks
We might receive another seek from the application while the action task is
handling a previous seek (and thus setting seeking_itself to TRUE). To prevent
this seek to go through directly instead of being added as an action, also
check if the seek event was received from our action task thread or some other
thread.
https://bugzilla.gnome.org/show_bug.cgi?id=767053
2016-05-31 09:29:44 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-meta-container.c:
ges: Emit GESMetontainer::notify-meta even if value is unset
2016-05-30 10:51:51 -0400 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-meta-container.c:
ges: Allow passing `NULL` as a value to ges_meta_container_set_meta
Fixes T7430
2016-05-25 10:32:46 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/Makefile.am:
g-i: pass compiler env to g-ir-scanner
It's what introspection.mak does as well. Should
fix spurious build failures on gnome-continuous
(caused by g-ir-scanner getting compiler details
via python which is broken in some environments
so passing the compiler details bypasses that).
2016-05-16 12:06:37 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-uri-clip.c:
* ges/ges-uri-clip.h:
uri-clip: make uri parameter of ges_uri_clip_new () const
To avoid compiler warning when using const string to create a new
GESUriClip as string is not modified and only passed to functions which
take a const string.
https://bugzilla.gnome.org/show_bug.cgi?id=766523
2016-05-16 12:53:32 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/gstframepositioner.c:
framepositionner: add a weak ref on track element to know when it is finalized
Otherwise if frame positionner is disposed after track element has been
finalized, it will raise a critical message because we will try to
disconnect a signal handler on a freed track element object.
https://bugzilla.gnome.org/show_bug.cgi?id=766525
2016-05-16 17:36:36 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-audio-source.c:
audio-source: unref private capsfilter reference on dispose
Otherwise a capsfilter reference will be leaked since it has been got
using gst_bin_get_by_name.
https://bugzilla.gnome.org/show_bug.cgi?id=766524
2016-05-16 17:35:29 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-audio-source.c:
audio-source: fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=766524
2016-05-07 20:29:22 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* plugins/nle/nlecomposition.c:
nlecomposition: ensure elements pending to be added are not leaked
When nlecomposition is finalized with pending add action or io,
associated elements are not unreffed as they should since caller gives
us the reference when calling gst_bin_add causing them to be leaked.
So to make sure we don't leak a reference on element when adding one to
the bin, each stage (action and pending_io) hold a reference on element
and release it when stage is done.
https://bugzilla.gnome.org/show_bug.cgi?id=766455
2016-05-14 18:06:56 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* plugins/nle/nlecomposition.c:
nlecomposition: fix nle_composition_remove_object info message
We don't add internal bin, we remove it.
https://bugzilla.gnome.org/show_bug.cgi?id=766455
2016-05-15 01:04:17 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-asset.c:
* ges/ges-audio-test-source.c:
* ges/ges-audio-track.c:
* ges/ges-audio-transition.c:
* ges/ges-audio-uri-source.c:
* ges/ges-clip.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-extractable.c:
* ges/ges-group.c:
* ges/ges-image-source.c:
* ges/ges-layer.c:
* ges/ges-meta-container.c:
* ges/ges-multi-file-source.c:
* ges/ges-pipeline.c:
* ges/ges-project.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-clip.c:
* ges/ges-utils.c:
* ges/ges-video-test-source.c:
* ges/ges-video-track.c:
* ges/ges-video-transition.c:
* ges/ges-video-uri-source.c:
ges: add some g-i annotations according to documentation
Mainly (transfer xxx) and (nullable). Also fix some typo.
https://bugzilla.gnome.org/show_bug.cgi?id=766459
2016-05-15 01:03:49 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-asset.c:
asset: fix ges_asset_set_proxy() return value documentation
https://bugzilla.gnome.org/show_bug.cgi?id=766459
2016-05-06 22:28:26 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
element: Also accept GParamSpec.owner_type name as a child property prefix
Makes it simpler for python users to be able to retrieve children
properties iterating over them.
2016-05-06 18:21:17 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
track-element: gi: skip now deprecated children property getter/setter
Those are implemented with the exact same API at the GESTimelineElement
level now, and user of those APIs with high level languages will get the
exact same API.
2016-05-06 15:44:28 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-xml-formatter.c:
formatter: Prefix all children properties in the XML formatter
Otherwise it will fail on properties that are mandatorily prefixed
like the newly added deinterlacing properties
2016-05-06 15:18:50 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
ges: Remove timeline_emit_group_removed which slipped in the API by mistake
This is formally an API break but I am sure no one ever used that and
we should make sure the method is removed as soon as possible because
it has no reason to be exposed.
2016-04-29 11:36:00 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-container.c:
container: Handle setting children properties that need prefixing
2016-04-29 10:29:00 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-source.c:
video-source: Expose deinterlace-[fields, mode, tff] child properties
Letting some control over the deinterlacing to the users
2016-04-30 18:38:33 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-effect.h:
* ges/ges-meta-container.c:
* ges/ges-timeline.c:
ges: fix misc g-i annotations
2016-04-30 18:20:00 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/Makefile.am:
g-i: use only "ges/ges.h" as c-include for introspection
This is the only header which shall be included by user. Otherwise some
language using gir to generate binding, e.g Vala, will includes all
headers files in alphabetical order which causes compilation errors due
to incomplete type.
https://bugzilla.gnome.org/show_bug.cgi?id=765856
2016-04-30 16:43:26 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* ges/ges-timeline.c:
timeline: rename "track-element" to "track_element" in select-tracks-for-object documentation
because "track-element" is not a valid identifier for a parameter and
will cause generated binding using GIR to be invalid. For instance in
Vala.
https://bugzilla.gnome.org/show_bug.cgi?id=765853
2016-04-29 10:05:10 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-source.c:
video-source: Do not ever plugin avdeinterlace
It is not feature compatible with deinterlace and is not safe to use
2016-04-28 13:39:41 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-types.h:
ges: #include glib.h for G_BEGIN_DECLS
2016-04-28 13:39:27 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-multi-file-source.h:
ges-multi-file-source: Fix case of standard gobject macros
2016-04-28 13:37:49 +0300 Sebastian Dröge <sebastian@centricular.com>
* docs/libs/Makefile.am:
* docs/libs/ges-sections.txt:
ges: Add some more functions to the docs and don't scan internal headers
Someone still should look through the unused.txt for more things to add or
hide.
2016-04-25 15:11:00 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-formatter.h:
* ges/ges-internal.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-structured-interface.h:
* ges/ges-types.h:
ges: Add G_BEGIN_DECLS around all relevant declarations in headers
2016-04-22 16:06:50 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* tests/check/ges/titles.c:
title: Do not concider inpoints
It does not make sense for titles
Handle element with no inpoint handling in the timeline
Fixes https://phabricator.freedesktop.org/T7319
2016-04-14 10:05:16 +0100 Julien Isorce <j.isorce@samsung.com>
* common:
Automatic update of common submodule
From 6f2d209 to ac2f647
2016-04-13 12:32:53 +0300 Sebastian Dröge <sebastian@centricular.com>
* tests/check/ges/timelineedition.c:
tests: Rename positionner to positioner in the tests too
2016-04-13 12:31:05 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/Makefile.am:
* ges/ges-smart-video-mixer.c:
* ges/ges-source.c:
* ges/ges-video-source.c:
* ges/ges-video-transition.c:
* ges/ges.c:
* ges/gstframepositioner.c:
* ges/gstframepositioner.h:
ges: Fix typo by renaming positionner to positioner
It's fortunately private API
2016-04-13 12:26:13 +0300 Sebastian Dröge <sebastian@centricular.com>
* ges/gstframepositionner.c:
framepositionner: Initialize all fields of the meta during initialization
GstMetas are not allocated with all fields initialized to zeroes.
2016-04-09 21:12:00 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
ges: Do not try to set read only properties
When copying and splitting clips
Fixes T7375
2016-04-09 18:13:33 -0300 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-transition.c:
transition: Lower done some debug loggin level
2016-03-27 23:40:16 +0200 Thibault Saunier <tsaunier@gnome.org>
* plugins/nle/nlecomposition.c:
Minor fix
2016-04-01 10:09:39 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-title-source.c:
titlesource: Add support for absolute positionning
2016-04-04 10:53:13 +0300 Sebastian Dröge <sebastian@centricular.com>
* tests/.gitignore:
* tests/check/ges/.gitignore:
tests: Add some things to .gitignore
2016-04-03 18:06:00 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
* examples/.gitignore:
examples/gitignore: ignore assets and play_timeline_with_one_clip binaries
https://bugzilla.gnome.org/show_bug.cgi?id=764550
2016-03-30 09:26:18 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges.c:
GES: Properly split the GOptionGroup initialization
Debugging must be configuring first (before any parsing), and then
the types are initialized at the end.
Fixes issues with debugging categories not being available at the
start
2016-03-07 08:49:14 +0900 Vineeth TM <vineeth.tm@samsung.com>
* ges/ges-smart-adder.c:
* ges/ges-smart-video-mixer.c:
* ges/ges-track.c:
* ges/gstframepositionner.c:
* plugins/nle/nlecomposition.c:
* plugins/nle/nleoperation.c:
* plugins/nle/nlesource.c:
* plugins/nle/nleurisource.c:
editing-services: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763195
2016-03-24 13:33:52 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.8.0 ===
2016-03-24 13:05:16 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.8.0
=== release 1.7.91 ===
2016-03-15 12:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.7.91
2016-03-11 17:31:15 +0100 Thibault Saunier <tsaunier@gnome.org>
* examples/c/overlays.c:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
Revert "titlesource: use x/yabsolute instead of x/ypos."
This reverts commit c4356db40c6e50f7314a75ea65d46f9f21ef0a5d.
This commit was not ready and was not support to be pushed
2016-03-11 17:29:08 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-group.c:
ges: Don't emit timeline::group-removed when ungrouping outside a timeline
2016-03-11 12:45:37 +0100 Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
* examples/c/overlays.c:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
titlesource: use x/yabsolute instead of x/ypos.
2016-02-12 19:18:24 +0100 Justin Kim <justin.kim@collabora.com>
* tools/ges-launcher.c:
ges-launcher: don't leak sanitized_timeline string
Summary:
sanitized_timeline is created when parsing command line,
but it isn't free'd.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D382
=== release 1.7.90 ===
2016-03-01 19:09:52 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.7.90
2016-02-26 21:13:37 +0100 Sjors Gielen <sjors@sjorsgielen.nl>
* plugins/nle/nleoperation.c:
nle: Set the NleOperation flags to NLE_OBJECT_OPERATION
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D770
2016-02-26 20:42:41 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-effect.c:
ges: Register scaletempo::rate as a rate changing property
2015-12-20 14:03:57 +0100 Sjors Gielen <sjors@sjorsgielen.nl>
Handle changing playback rate
Before this patch, NLE and GES did not support NleOperations (respectively
GESEffects) that changed the speed/tempo/rate at which the source plays. For
example, the 'pitch' element can make audio play faster or slower. In GES 1.5.90
and before, an NleOperation containing the pitch element to change the rate (or
tempo) would cause a pipeline state change to PAUSED after that stack; that has
been fixed in 1.5.91 (see #755012 [0]). But even then, in 1.5.91 and later,
NleComposition would send segment events to its NleSources assuming that one
source second is equal to one pipeline second. The resulting early EOS event
(in the case of a source rate higher than 1.0) would cause it to switch stacks
too early, causing confusion in the timeline and spectacularly messed up
output.
This patch fixes that by searching for rate-changing elements in
GESTrackElements such as GESEffects. If such rate-changing elements are found,
their final effect on the playing rate is stored in the corresponding NleObject
as the 'media duration factor', named like this because the 'media duration',
or source duration, of an NleObject can be computed by multiplying the duration
with the media duration factor of that object and its parents (this is called
the 'recursive media duration factor'). For example, a 4-second NleSource with
an NleOperation with a media duration factor of 2.0 will have an 8-second media
duration, which means that for playing 4 seconds in the pipeline, the seek
event sent to it must span 8 seconds of media. (So, the 'duration' of an
NleObject or GES object always refers to its duration in the timeline, not the
media duration.)
To summarize:
* Rate-changing elements are registered in the GESEffectClass (pitch::tempo and
pitch::rate are registered by default);
* GESTimelineElement is responsible for detecting rate-changing elements and
computing the media_duration_factor;
* GESTrackElement is responsible for storing the media_duration_factor in
NleObject;
* NleComposition is responsible for the recursive_media_duration_factor;
* The latter property finally fixes media time computations in NleObject.
NLE and GES tests are included.
[0] https://bugzilla.gnome.org/show_bug.cgi?id=755012
Differential Revision: https://phabricator.freedesktop.org/D276
2016-02-26 12:42:55 +0200 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From b64f03f to 6f2d209
2016-02-16 12:49:57 +0000 Fabian Orccon <fabian.orccon@pucp.pe>
* ges/ges-group.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
group-added and group-removed signals added
Differential Revision: https://phabricator.freedesktop.org/D619
2016-02-19 12:38:45 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.7.2 ===
2016-02-19 12:26:27 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.7.2
2016-02-18 15:26:11 +0000 Julien Isorce <j.isorce@samsung.com>
* pkgconfig/gst-editing-services-uninstalled.pc.in:
uninstalled.pc: add support for non libtool build systems
Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.
So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.
This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
gst-editing-services-1.0)
Previously it required to prepend libtool --mode=link
https://bugzilla.gnome.org/show_bug.cgi?id=720778
2016-02-09 12:31:10 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* tests/check/ges/effects.c:
Fix and test priority of TrackElement after splitting
And make sure we properly handle transitions in that case
2016-02-09 12:14:15 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
ges: Give better names to nleobjects
2016-02-05 20:02:40 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* tests/check/Makefile.am:
tests: extend the AM_TESTS_ENVIRONMENT from check.mak
To get the CK_DEFAULT_TIMEOUT defined for all tests
https://bugzilla.gnome.org/show_bug.cgi?id=761472
2016-02-05 18:11:59 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* autogen.sh:
* common:
Automatic update of common submodule
From 86e4663 to b64f03f
2016-01-28 13:37:13 +0100 Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
* ges/ges-title-source.c:
titlesource: Add properties for text dimensions.
2016-02-02 20:31:13 +0100 Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
* ges/ges-track-element.c:
trackelement: Make use of read-only children properties.
Read only properties will throw a GLib warning like this
when accessed with "set_child_property":
Warning: g_object_set_property: property 'text-x' of object class 'GstTextOverlay' is not writable
2016-01-26 12:52:36 +0100 Thibault Saunier <tsaunier@gnome.org>
* plugins/nle/nlecomposition.c:
nle: Turn composition structural issue into ERROR on the bus
Those error are really critical and we are then enable to keep
working. Just post an ERROR message on the bus and let the
application deal with it.
Reviewed-by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Differential Revision: https://phabricator.freedesktop.org/D740
2016-01-25 16:11:14 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
track-element: Rely on nleobject to be created at construct time
Avoiding all the pending_xx dance and making the code simpler.
This is now possible thanks to the various recent refactoring.
Thanks to that the user is able to set_child_property on objects
that are not in GESTrack yet, as expected.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D739
2016-01-25 15:57:22 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-effect-asset.c:
* ges/ges-effect.c:
* ges/ges-internal.h:
* tests/check/ges/asset.c:
* tests/check/ges/project.c:
effect: Determine the effect type as soon as possible
Making it possible to create the nleobject right at the creation
of the element.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D738
2016-01-25 15:51:26 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* tests/check/python/test_clip.py:
title-clip: Return default GESTitleSource value if no child set yet
In get_property we should return the default values if
we have not created any GESTitleSource yet
(instead of segfaulting).
And fix GESTitleSource default values!
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D737
2016-01-25 11:56:57 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
* ges/gstframepositionner.c:
ges: track-element: Try to create NleObject as soon as possible
This way we have informations about the content of the
children as soon as possible.
Most code paths where already ready to handle that as we use it for
copying clips.
Fix framepositionner to properly handle that (it would have broke
with copied clips before).
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D736
2016-01-19 11:22:57 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Avoid possible crash disposing the timeline
2016-01-19 11:15:58 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/Makefile.am:
g-i: fix init section to avoid compiler warnings
2016-01-06 17:20:20 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-container.c:
container: Update start if adding a child that as a start < current start
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D629
2016-01-06 18:14:07 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Fix infinite loop on dispose
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D628
2016-01-01 11:56:27 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-audio-source.c:
* ges/ges-audio-uri-source.c:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-video-source.c:
* ges/ges-video-uri-source.c:
* ges/gstframepositionner.c:
* tests/check/python/test_clip.py:
* tests/check/python/test_group.py:
group: Make deep copying actually copy deep
Allowing pasting groups paste exactly what had been copied
And not the new version of the contained objects
This technically breaks the C API but this is a new API and I believe
and hope nobody is using it right now.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D616
2015-12-22 23:21:44 +0100 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
* tests/check/Makefile.am:
* tests/check/python/test_group.py:
tests_: Add a simple python copy/paste test for groups
Integrating python tests in the build system
And cleanup configure.ac
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D601
2016-01-02 16:15:02 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/Makefile.am:
Do not install ges-smart-video-mixer.h
it should always have been private
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D617
2016-01-06 09:50:39 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
Revert "timeline-element: Do not consider not serializable elements when getting top element"
This commit was causing issue where we were reporting the toplevel
element as an element but that element was actually in another
not serialized group. That is very tricky to handle for end users
as they are not guaranteed the toplevel clips were actually not
contained in another element.
This reverts commit ceb82ba3028332987d8d5251f98b4896120aa59b.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D627
2016-01-09 05:15:47 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* plugins/nle/nlecomposition.c:
nlecomposition: use correct type for flush_seqnum.
2016-01-09 05:14:36 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* plugins/nle/nleghostpad.c:
nleghostpad: use GST_SEGMENT_FORMAT
This isn't 2005 anymore.
2015-12-29 18:08:03 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-asset.c:
ges-asset: Don't dereference NULL proxy assets when resolving fails
CID 1346531
2015-12-26 09:43:11 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-asset.c:
* ges/ges-extractable.c:
* ges/ges-project.c:
* ges/ges-project.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
ges: Fix various g-i warnings
2015-12-26 09:43:19 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-track-element.c:
ges-track-element: Rename control-binding-reomved signal to control-binding-removed
Strictly speaking an API change but nobody on the Internet seemed to have used
the signal with the typo in the name.
2015-12-24 15:30:23 +0100 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.7.1 ===
2015-12-24 15:07:57 +0100 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.7.1
2015-12-22 09:58:06 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-validate.c:
ges-validate: Fix compiler warning caused by usage of wrong enum type
ges-validate.c:237:22: error: implicit conversion from enumeration type
'GESEdge' to different enumeration type 'GESEditMode'
[-Werror,-Wenum-conversion]
GESEditMode edge = GES_EDGE_NONE;
~~~~ ^~~~~~~~~~~~~
ges-validate.c:277:41: error: implicit conversion from enumeration type
'GESEditMode' to different enumeration type 'GESEdge'
[-Werror,-Wenum-conversion]
new_layer_priority, mode, edge, position))) {
^~~~
https://bugzilla.gnome.org/show_bug.cgi?id=759758
2015-12-18 13:32:22 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
timeline-element: Do not consider not serializable elements when getting top element
Those are temporary elements that should not be considered when dealing
with the hierarchy of objects.
Fixes T3455
2015-12-17 13:36:42 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-clip.c:
uri-clip: Copy sources child properties when resetting asset
2015-03-12 13:57:28 +0100 Thibault Saunier <tsaunier@gnome.org>
* Makefile.am:
* bindings/python/Makefile.am:
* bindings/python/examples/Makefile.am:
* configure.ac:
* examples/.gitignore:
* examples/Makefile.am:
* examples/c/Makefile.am:
* examples/c/assets.c:
* examples/c/concatenate.c:
* examples/c/ges-ui.c:
* examples/c/ges-ui.glade:
* examples/c/multifilesrc.c:
* examples/c/overlays.c:
* examples/c/play_timeline_with_one_clip.c:
* examples/c/simple1.c:
* examples/c/test1.c:
* examples/c/test2.c:
* examples/c/test3.c:
* examples/c/test4.c:
* examples/c/text_properties.c:
* examples/c/thumbnails.c:
* examples/c/transition.c:
* examples/python/simple.py:
* tests/Makefile.am:
examples: Move all examples to the root dir and create foldersdir per language
+ Add some markdown files to link between languages
+ Add a simple 'play timeline with one clip" example in C and python
2015-12-21 12:34:56 +0100 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
configure: Use -Bsymbolic-functions if available
While this is more useful for libraries, some of our plugins with multiple
files and some internal API can also benefit from this.
2015-12-11 15:20:53 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
Revert "project: Call asset_added in the first signal emition stage"
This reverts commit 08f927ca68f71530a32846b6da19eac9dc439a2c.
That commit was breaking the API and could break other people's code.
2015-12-08 12:37:29 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-asset.h:
asset: Add a way to set asset as "needing reload"
Allowing application to force the asset system to recheck if an
asset has been "fixed" and can be used again
API:
+ ges_asset_needs_reload
Differential Revision: https://phabricator.freedesktop.org/D584
2015-12-02 11:04:10 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
project: Call asset_added in the first signal emition stage
Differential Revision: https://phabricator.freedesktop.org/D520
2015-11-20 23:33:12 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-asset.h:
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-uri-clip.c:
* ges/ges-xml-formatter.c:
* tests/check/Makefile.am:
* tests/check/ges/asset.c:
Implement asset proxying support
API:
ges_asset_set_proxy
ges_asset_get_proxy
ges_asset_list_proxies
ges_asset_get_proxy_target
Differential Revision: https://phabricator.freedesktop.org/D504
2015-12-07 09:11:38 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
* autogen.sh:
* common:
Automatic update of common submodule
From b319909 to 86e4663
2015-11-26 23:11:36 +0530 Sebastian Dröge <sebastian@centricular.com>
* Makefile.am:
bash-completion: Disable during "make distcheck" as this requires installing files outside the prefix
automake requires all files to be installed inside the prefix. bash-completion
requires the files to be in a specific directory given by a pkg-config file.
As such those two are having incompatible requirements and we just disable
bash-completion installation for the time being when running "make distcheck".
Nonetheless things like "make install" with e.g. a DESTDIR or a private
installation into a user's directory will fail as in both cases the
bash-completion data would be tried to be installed system-wide.
2015-11-26 22:42:45 +0530 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Revert "build: fix make distcheck."
This reverts commit 462727d6d825b6e67119e6b8ea47d9e18cc22bdf.
This "fix" broke the build on Windows, where both prefix and datadir are
absolute paths and as such we would concatenate two absolute paths and fail.
2015-11-21 00:23:02 +0100 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
* tests/check/Makefile.am:
tests: Properly setup GST_PLUGIN_PATH in test environement
2015-11-15 00:31:21 +0100 Thibault Saunier <tsaunier@gnome.org>
* Makefile.am:
Dist gst-editing-services.doap
2015-11-08 22:49:43 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-asset.h:
asset: Add a method to retrieve the GError of an asset loaded with error
API:
ges_asset_get_error
2015-11-07 18:21:53 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
* ges/ges-project.h:
project: Add a 'asset-loading' signal
2015-11-05 11:16:31 +0100 Thibault Saunier <tsaunier@gnome.org>
* .arcconfig:
* ges/ges-audio-source.c:
* ges/ges-smart-adder.c:
ges: Set restriction caps in the audio source caps filter
Otherwise we could have not negotiated errors in audiomixer when
the channel/channel-mask do not match
Differential Revision: https://phabricator.freedesktop.org/D493
Reviewed-by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2015-11-04 20:20:10 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
formatter: Do not serialize top effect priorities
We just need to make sure they are always serialized in the right
order (which is the case) and de serializing them will lead to the
right behaviour.
We should not serialize the priority as the priority of the source
itself depends on the action having been done on the parent clip,
and we do not serialize the source priorities (and should not, GES
should just do the right thing).
Differential Revision: https://phabricator.freedesktop.org/D491
2015-11-04 18:37:34 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launcher.c:
launcher: Make sure to not activate validate twice when simply loading a scenario
2015-10-30 10:52:12 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-clip.c:
uri-clip: Make sure to instantiate an asset to back GESUriClip-s
2015-10-21 14:37:26 +0100 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From b99800a to b319909
2015-10-20 17:29:42 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:28:54 +0300 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From 9aed1d7 to b99800a
2015-10-02 22:27:37 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Update GLib dependency to 2.40.0
2015-10-02 16:51:56 +0200 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nlecomposition.c:
nlecomposition: free closure actions when disposing
Summary:
After invoking GClosure, the item of action list becomes
orphan so it lost a chance to be freed. In addition, even
when disposing, the list of actions has few items so we
have to check the list.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D324
2015-10-02 16:49:31 +0200 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nlecomposition.c:
nlecomposition: fix wrong argument order of GClosureNotify
Summary:
_free_action should follow GClosureNotify type.
```
void
(*GClosureNotify) (gpointer data,
GClosure *closure);
```
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D323
2015-10-02 16:39:31 +0200 Justin Kim <justin.kim@collabora.com>
* ges/ges-track.c:
track: mixing_operation is handled by its parent
Summary:
Normally, mixing_operation is created and added to nlecomposition
as a child element so it will be freed when nlecomposition is removed
from a track.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Differential Revision: https://phabricator.freedesktop.org/D319
2015-10-02 16:11:33 +0200 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nleoperation.c:
nleoperation: don't leak iterator
Summary: Once an iterator is created, it should be freed after usage.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D318
2015-10-02 16:10:59 +0200 Justin Kim <justin.kim@collabora.com>
* ges/ges-asset.c:
asset: simplify if-statement in cache_set_loaded
Summary:
Manual iteration can be replaced with foreach function.
In addition, this patch fixes mismatched GFunc type for
g_list_foreach and adds debug cateory for gst-asset for
convenient debugging.
Reviewers: thiblahute
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D312
2015-10-02 16:08:03 +0200 Justin Kim <justin.kim@collabora.com>
* .arcconfig:
* ges/ges-uri-asset.c:
uri-asset: do not reuse a passed GError pointer
Summary: A passed GError is re-allocated when discoverer has no information.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D302
2015-10-01 16:26:05 +0200 Justin Kim <justin.kim@collabora.com>
* ges/ges-xml-formatter.c:
xml-formatter: handle dispose properly
Summary:
To dispose properly, a child object should call same function
of parent class.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D311
2015-10-01 16:06:33 +0200 Justin Kim <justin.kim@collabora.com>
* ges/ges-base-xml-formatter.c:
base-xml-formatter: properly handle GFile from wrong uri
Summary:
g_file_new_for_uri never fails so GFile always has valid pointer.
And fix a bug of double unref from D303.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D310
2015-10-01 11:28:38 +0200 Justin Kim <justin.kim@collabora.com>
* ges/ges-audio-track.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-extractable.c:
* ges/ges-multi-file-source.c:
* ges/ges-video-track.c:
* ges/ges-xml-formatter.c:
don't leaks caps and converted strings
Summary:
Valgrind reports trivial leakages related to handling
objects and their converted strings.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D303
2015-09-30 14:50:46 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-track.c:
track: add gaps when going from READY to PAUSED.
Summary:
The backend commits itself automatically in these cases, so track
needs to do so too.
Reviewers: thiblahute
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D94
2015-08-20 17:16:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
* tests/examples/multifilesrc.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launcher.c:
editing-services: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.
And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.
https://bugzilla.gnome.org/show_bug.cgi?id=753864
2015-09-30 17:11:20 +0900 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nleoperation.c:
nleoperation: don't leak srcpad
https://bugzilla.gnome.org/show_bug.cgi?id=755860
2015-09-30 17:27:26 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-project.c:
project: fix a pointer for error message
https://bugzilla.gnome.org/show_bug.cgi?id=755862
2015-09-30 17:26:31 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-project.c:
project: don't leak GFileInfo
https://bugzilla.gnome.org/show_bug.cgi?id=755862
2015-09-22 01:06:00 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-timeline-element.c:
* ges/ges-track.c:
* ges/gstframepositionner.c:
timeline-element,track,framepositionner: don't leak internal object
https://bugzilla.gnome.org/show_bug.cgi?id=755247
2015-09-24 01:30:09 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-structured-interface.c:
structured-interface: introduce TRY_GET_STRING
TRY_GET uses gst_structure_get. However, if boxed or
string pointer is retrieved by gst_structure_get,
it should be freed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=755480
2015-09-24 13:41:30 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-uri-asset.c:
uri-asset: don't leak uri string
https://bugzilla.gnome.org/show_bug.cgi?id=755505
2015-09-28 15:59:58 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
Revert "title-source: Force format with alpha channels out of videotestsrc"
This reverts commit 7d1e1010728a5348674bb9053de6b095cb824984.
This commit was never meant to be committed (at least *not* on master).
2015-09-28 13:21:11 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-structure-parser.c:
* ges/ges-structure-parser.h:
structure-parser: define GES_STRUCTURE_PARSER macro
And fix trivial leakages of internal list structure.
https://bugzilla.gnome.org/show_bug.cgi?id=755716
2015-09-27 15:15:10 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
title-source: Force format with alpha channels out of videotestsrc
Making sure the user can set a background of the title with an alpha
channel.
Working around https://bugzilla.gnome.org/show_bug.cgi?id=755482 for
the 1.6 branch.
2015-09-25 12:30:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
Back to development
=== release 1.6.0 ===
2015-09-25 12:29:40 +0200 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.6.0
2015-09-24 13:21:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-container.c:
* ges/ges-timeline.c:
ges: Avoid emitting 'child-added/removed' when signal emission stops addition
In the GESTimeline, TrackElement addition to a clip might get cancelled
(and thus the element gets removed), we need to make sure users do not
get wrong signals.
Also document the fact that user should connect to container::child-added
with g_signal_connect_after.
2015-09-22 23:10:35 +0900 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nlecomposition.c:
* plugins/nle/nleobject.c:
nle{composition,object}: remove unused allocation & trivial leakages
nlecomposition allocates unused 'UpdateCompositionData' and it
causes leakages.
https://bugzilla.gnome.org/show_bug.cgi?id=755417
2015-09-24 13:40:27 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-pipeline.c:
pipeline: don't leak GstPad
https://bugzilla.gnome.org/show_bug.cgi?id=755505
2015-09-24 13:42:16 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-pitivi-formatter.c:
pitivi-formatter: don't leak internal hash table
https://bugzilla.gnome.org/show_bug.cgi?id=755505
2015-09-23 21:23:13 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-transition.c:
video-transition: Make compositor background transparent
Allowing further mixing downstream
2015-09-23 21:12:33 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-transition.c:
video-transition: Add a framepositioner at the end of the transitio
So downstream compositor knows the zorder of the various streams
=== release 1.5.91 ===
2015-09-18 18:40:18 +0200 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.5.91
2015-09-18 10:01:44 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-track.c:
* ges/ges-utils.c:
ges: Namespace NLE utils function into GES
Avoiding name clashes when built statically
2015-09-15 12:17:19 +0200 Thibault Saunier <tsaunier@gnome.org>
* plugins/nle/nlesource.c:
nle: Avoid unsetting srcpad target after the srcpad is already freed
That leaded to segfaults
2015-09-15 11:08:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* plugins/nle/nleghostpad.c:
nle: Stop wrongly set operation segment base time
Inside the composition we actually do not need to have any notion
of what the timing outside the compositon as we already tweak the segment
base time outside the composition. This code was only there to work
around https://bugzilla.gnome.org/show_bug.cgi?id=753196
https://bugzilla.gnome.org/show_bug.cgi?id=754893
2015-09-11 16:18:46 +0900 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nlecomposition.c:
nlecomposition: don't leak internal hashtable
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 16:13:19 +0900 Justin Kim <justin.kim@collabora.com>
* plugins/nle/nleobject.c:
nleobject: don't leak srcpad when disposing
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 16:11:40 +0900 Justin Kim <justin.kim@collabora.com>
* ges/ges-timeline.c:
timeline: don't leak pad in private structure
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 09:58:56 +0900 Justin Kim <justin.kim@collabora.com>
* tools/ges-launcher.c:
ges-launcher: don't leak GError
https://bugzilla.gnome.org/show_bug.cgi?id=754858
2015-09-09 23:32:19 +0900 Justin Kim <justin.kim@collabora.com>
* tools/ges-launcher.c:
ges-launcher: fix double free when argument is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=754783
2015-09-04 12:01:16 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-source.c:
video-source: Use the priority being set to compute zorder
2015-09-02 23:27:16 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-transition.c:
video:transition: Set mixer pad zorder
2015-09-02 17:58:33 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-smart-video-mixer.c:
* ges/ges-smart-video-mixer.h:
* ges/ges-video-source.c:
* ges/ges-video-transition.c:
video-source: Make sure to set framepositionner zorder when creating it
And fix a computation bug where we would be having mixing order
reversed between layers.
And make sure that the positionner does not mix up Transition handling
of the zorder
2015-08-27 16:28:42 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-source.c:
* ges/gstframepositionner.c:
video-source: Simply set framepositionner->zorder = self->priority
Summary:
Making the code simpler and handling the transition case
where elements are in the same layer (which was failing
/setting same zorders until now).
Reviewers: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D237
2015-08-23 01:35:18 +1000 Jan Schmidt <jan@centricular.com>
* configure.ac:
Use standard GST_PLUGIN_LDFLAGS for the nle plugin
Add the standard GST_PLUGIN_LDFLAGS to the configure.ac file.
2015-08-21 21:25:27 +0200 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
Add support for static plugins builds
=== release 1.5.90 ===
2015-08-20 17:55:48 +0200 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.5.90
2015-08-19 11:24:11 +0200 Thibault Saunier <tsaunier@gnome.org>
* .arcconfig:
* Makefile.am:
* configure.ac:
* ges/Makefile.am:
* ges/ges-internal.h:
* ges/ges-track.c:
* ges/ges-utils.c:
* ges/ges.c:
* plugins/Makefile.am:
* plugins/nle/.gitignore:
* plugins/nle/Makefile.am:
* plugins/nle/gnlmarshal.list:
* plugins/nle/gstnle.c:
* plugins/nle/nle.h:
* plugins/nle/nlecomposition.c:
* plugins/nle/nlecomposition.h:
* plugins/nle/nleghostpad.c:
* plugins/nle/nleghostpad.h:
* plugins/nle/nleobject.c:
* plugins/nle/nleobject.h:
* plugins/nle/nleoperation.c:
* plugins/nle/nleoperation.h:
* plugins/nle/nlesource.c:
* plugins/nle/nlesource.h:
* plugins/nle/nletypes.h:
* plugins/nle/nleurisource.c:
* plugins/nle/nleurisource.h:
Move NLE to a dedicated GstPlugin
Summary: Allowing external user to directly use it
Reviewers: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D231
2015-07-23 11:53:52 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nle: Enhance debug logging
2015-07-23 11:42:48 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
* ges/ges-track.c:
ges: Do not leak and uselessly create errors
And avoid parenthesis in GstObject names
2015-07-23 11:40:57 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges: Fix how we handle layer vs layer-priority in the structured interface
2015-07-23 11:39:04 +0200 Thibault Saunier <tsaunier@gnome.org>
* tests/check/Makefile.am:
* tests/check/ges/clip.c:
tests: Do not use gst-structured-interface in the tests
It breaks $ make distcheck
2015-07-16 17:26:04 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst-editing-services.doap:
Update mailing list in doap file
2015-07-16 10:54:54 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Remove transitions that can no fit into an auto transition
When activating auto transition mode
2015-07-16 10:53:17 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
ges; Minor debug enhancement
2015-07-13 13:48:40 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-asset.c:
assets: Avoid deadlock when done initialising asset
Avoid to hold the CACHE lock when setting the GTasks return values.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752300
2015-07-08 18:59:33 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
* ges/nle/nleobject.h:
nleobject: Concider objects as 'inactive' when they have a duration == 0
2015-07-08 18:59:00 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
track-element: Handle the case where we have only one keyframe set when interpollating keyframes
2015-07-06 10:24:33 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-asset.c:
* ges/ges-internal.h:
* tests/check/ges/uriclip.c:
asset: Port use of deprecated GSimpleAsyncResult to GTask
2015-07-03 22:00:08 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From f74b2df to 9aed1d7
2015-07-03 13:49:57 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
* tests/check/Makefile.am:
* tests/check/ges/clip.c:
track-element: Fix splitting bindings and add unit tests
2015-07-01 18:33:39 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
structured-interface: Better handle CLOCK_TIME type from GstStructures
2015-06-29 18:04:32 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
element: Implement a paste method
Allowing user to copy paste clips very easily
2015-06-23 16:11:26 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
* ges/gstframepositionner.c:
* tests/check/ges/layer.c:
timeline: Disable movement that lead to 2 transition at a position
We should never let 3 objects to overlap at a same position, for that
we introduce a "rollback" feature and whenever such an editing happens,
we rollback object position to whatever it was before the move.
2015-06-23 19:19:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-smart-video-mixer.c:
smart-video-mixer: Always keep a ref on the mixer pad
2015-06-23 13:27:00 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-container.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
timeline-element: Add a method to get the TrackType it interacts with
API:
+ ges_timeline_element_get_track_types
2015-06-19 11:08:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-timeline.c:
timeline: Never create transitions between rippled objects
In case of groups, we can have track elements that do not belong
directly to the moved_trackelements but will be moved as others. Never
create transition to all object that have a start > moving group start.
2015-06-16 17:07:40 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-smart-video-mixer.c:
* ges/ges-smart-video-mixer.h:
* ges/ges-video-transition.c:
video-transition: Use a SmartMixer as mixer
So that the frame position metas are parsed and taken into account
2015-06-16 15:02:18 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-pipeline.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
track-element: Add method to remove control binding
API:
ges_track_element_remove_control_binding
2015-06-16 13:25:32 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
* ges/ges-xml-formatter.c:
ges: Handle absolute GstDirectControlBindings
2015-06-13 18:48:20 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-smart-video-mixer.c:
* ges/gstframepositionner.c:
* ges/gstframepositionner.h:
framepositionner: Make use of the new CompositorPad.width/height
So that the scaling is done in the compositor and this way we can cleanly interpolate its value
2015-07-03 09:19:30 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
* tests/check/ges/group.c:
* tests/check/ges/timelineedition.c:
timeline: Never change output media time when trimming start
+ Fix testsuite
https://bugzilla.gnome.org/show_bug.cgi?id=638802
2015-07-03 09:16:50 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
* tests/check/ges/timelineedition.c:
track-element: Return right value when editing
We used to always return TRUE which was wrong
+ Fix testsuite and remove randomness from the tests
2015-07-01 17:28:52 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-pipeline.c:
* ges/ges-track.c:
ges: Do not add a final gap at the end of track while rendering
It is not correct to force a black frame at the end of the rendered
video and it also leads to rendering issue with vpX encoders.
https://bugzilla.gnome.org/show_bug.cgi?id=751510
2015-07-01 11:35:42 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* ges/nle/nlecomposition.c:
clip: Use container priority offset when setting children prios
Instead of trying to compute it ourself which might lead to wrong
behaviour when moving between layer.
+ Make sure that when we reset clip children priority (to make space
for effects,) we update the container knowledge of priority offsets
2015-06-30 23:13:28 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
clip: Fix track element priority computation
We were computing the priority offset taking the global MIN_NLE_PRIO
(which is a constant == 2 to make space for the mixing elements) instead
of the layer 'track element' relative priority, leading to very big
offsets on layer with a prio > 0. In the end it leaded to effects having
the same priority as the sources which leads to an undefined behaviour
in NLE.
2015-06-24 09:06:30 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-asset.c:
uri-asset: Bump the discoverer timeout to 1 minute
We should by default avoid false timeouts
2015-06-22 01:52:39 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track.c:
track: Give usefull name to compositions
2015-06-25 11:03:12 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
* ges/nle/nleobject.c:
* tests/check/nle/common.c:
nle: Port tests to the "commit" action signals
Now that nle_object_commit symbol is hidden, we can't use it
in the tests.
2015-06-25 10:32:46 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* docs/random/lifecycle:
* docs/random/scenarios:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
ges: Unbreeak API after renaming of GNL to NLE
2015-06-25 10:28:41 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-auto-transition.h:
* ges/ges-internal.h:
* ges/ges-structure-parser.h:
* ges/gstframepositionner.h:
ges: Hide more symbols of headers that are not installed
2015-06-25 10:25:48 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/nle/nlecomposition.c:
nle: Remove unused function
nle/nlecomposition.c:2471:1: error: unused function '_parent_or_priority_changed' [-Werror,-Wunused-function]
_parent_or_priority_changed (NleObject * obj, GNode * oldnode,
^
2015-06-25 10:24:13 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
* ges/nle/nlecomposition.h:
* ges/nle/nleghostpad.h:
* ges/nle/nleobject.h:
* ges/nle/nleoperation.h:
* ges/nle/nlesource.h:
* ges/nle/nleurisource.h:
nle: Hide away symbols, they're supposed to be internal
2015-06-24 17:55:22 +0200 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
Back to development
=== release 1.5.2 ===
2015-06-24 17:44:04 +0200 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.5.2
2015-06-23 09:41:01 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/nle/nlesource.c:
nlesource: remove outdated comment
2015-06-16 17:50:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
* common:
Automatic update of common submodule
From 6015d26 to f74b2df
2015-06-10 17:54:20 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
pipeline: Handle rendering with disabled tracks
Summary:
The user might want to render only some media type of the timeline,
for example he wants to only render the audio part of the timeline.
It was failing as we were not connecting the track but were still trying
to 'render' it.
Depends on D153
Reviewers: Mathieu_Du
Reviewed By: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D154
2015-06-09 21:00:44 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-asset.c:
* tools/ges-launcher.c:
ges: Raise an error when the discoverer returns != RESULT_OK
And do not try to run the pipeline when that happens
2015-06-09 20:58:00 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-asset.c:
uri-asset: Add a way to control discoverer timeout through envvar
Making it possible to run ges-launch test under valgrind for example
2015-06-09 12:23:59 +0100 Tim-Philipp Müller <tim@centricular.com>
* tools/ges-validate.c:
ges-launch: don't print random position/duration values at startup
2015-06-09 11:30:59 +0200 Edward Hervey <bilboed@bilboed.com>
* common:
Automatic update of common submodule
From d9a3353 to 6015d26
2015-06-08 23:08:40 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From d37af32 to d9a3353
2015-06-07 23:07:40 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 21ba2e5 to d37af32
2015-06-07 17:32:34 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From c408583 to 21ba2e5
2015-06-07 17:16:53 +0200 Stefan Sauer <ensonic@users.sf.net>
* autogen.sh:
* common:
Automatic update of common submodule
From d676993 to c408583
2015-06-05 19:59:08 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Never snap end when rippling
http://phabricator.freedesktop.org/T74
2015-06-05 19:58:16 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Never create transition between elements inside the moving context
http://phabricator.freedesktop.org/T74
2015-06-05 18:49:51 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* ges/ges-group.c:
* ges/ges-group.h:
group: Disconnect from old layer notify::priority when a clip is moved to a NULL layer
This means we need to properly track the layer a clip was in. We now
keep track of the various signal IDs in a dedicated structure and
keep a ref on the layer an object is in.
http://phabricator.freedesktop.org/T88
2015-06-03 14:56:11 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launcher.c:
* tools/ges-validate.c:
tools: Exit the app as it is a simgle instance app
And force exiting GstValidate when wanted
2015-06-01 13:05:25 +0100 Luis de Bethencourt <luis.bg@samsung.com>
* ges/ges-structured-interface.c:
ges: remove dead code
Summary:
No need to recheck if error exists since it has already been checked by the
conditional above.
Coverity CID #1302832
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D200
2015-05-31 14:16:05 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-clip.c:
* ges/ges-timeline.c:
* tests/check/ges/layer.c:
ges: Handle trimming auto transitions
Meaning trimming neighbors.
+ And add a test
2015-05-29 15:15:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
timeline: Use a simple GList to track auto transitions
2015-01-12 13:05:30 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Do not fail when removing/adding child without commiting
Summary:
We use to end up removing the nleobject when the following case happened:
* add an object
* remove that object
* re add the object
* commit the composition
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D193
2015-05-19 18:18:30 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-layer.c:
timeline: Minor documentation addition
2015-05-18 21:24:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-meta-container.h:
* ges/ges-xml-formatter.c:
* tests/check/ges/project.c:
* tests/check/ges/test-project.xges:
* tests/check/ges/test-utils.c:
ges: Enhance xges format versioning
Summary:
Handle the fact that some new features can be added and that means
generated files will not be fully understandable by older versions of
the formatter.
Make sure that we set the format version to 0.2 when we serialize the
GstEncodingProfile.enabled property.
Add some tests around that.
+ Fix a minor bug in the test-utils
+ Add a meta on the projects to tell in what format version a project
has been serialized/parsed back
API:
GES_META_FORMAT_VERSION
Depends on D178
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D184
2015-05-14 11:12:20 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges: If last added clip is not in a layer, get the first layer
Summary:
In case we just removed it from its layer, make sure to
just use the first layer when none specified.
Depends on D177
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D178
2015-05-14 11:11:44 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
* ges/ges-validate.c:
ges: Fix some error settings
Summary: Depends on D176
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D177
2015-05-14 11:10:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges:structured-interface: Use GET_AND_CHECK in more places
Summary:
Giving more details about the issue to the user
Depends on D151
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D176
2015-05-07 10:52:18 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
xml-formatter: De/serialize whether encoding profiles are enabled or not
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D151
2015-04-26 18:22:40 +0100 Tim-Philipp Müller <tim@centricular.com>
* Android.mk:
* ges/Makefile.am:
* tools/Makefile.am:
Remove obsolete Android build cruft
This is not needed any longer.
2015-04-23 20:20:29 +0100 Tim-Philipp Müller <tim@centricular.com>
* .gitignore:
Update .gitignore
2015-04-22 15:07:58 +0200 Edward Hervey <edward@centricular.com>
* tools/utils.c:
tools: Fix string leak
Only allocate the return string when we know we are going to return
it.
Coverity CID #1292292
2015-04-22 10:39:25 +0200 Sebastian Dröge <sebastian@centricular.com>
* INSTALL:
Remove INSTALL file
autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.
2015-04-21 11:24:38 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-base-xml-formatter.c:
ges:xml-formatter: Call g_markup_parse_context_end_parse
Summary:
Otherwise the parser context will never know that is all the XML it
will receive and fail out if the XML document is not valid (in that
case if it does not end)
https://bugzilla.gnome.org/show_bug.cgi?id=746354
Reviewers: Mathieu_Du
Reviewed By: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D38
2015-04-20 17:42:44 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
ges: Add debug output when get_element returns NULL
2015-04-15 12:18:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launcher.c:
tools:launch: Print out the timeline description as an INFO not an ERROR
2015-04-15 12:18:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launcher.c:
tools:launch: clean user facing message on wrong timeline description
Summary:
Before:
$ ../gst-editing-services/tools/ges-launch-1.0 -p
0:00:00.028629728 8155 0x17e1b60 ERROR default ges-launcher.c:214:_create_timeline: serialized timeline is -p
** (lt-ges-launch-1.0:8155): ERROR **: Could not create timeline, error: Could not find a suitable formatter
[1] 8155 trace trap (core dumped) ../gst-editing-services/tools/ges-launch-1.0 -p
$
After:
$ GST_DEBUG=0 ges-launch-1.0 -p
ERROR: Could not create timeline, error: Could not find a suitable formatter
$
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D95
2015-04-08 23:33:27 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/nle/nleobject.c:
* tests/check/nle/common.c:
nleobject: It is wrong to update object->stop in set_property.
Summary: It must only be done when the object is commited.
We can do that in constructed though, as the changes will
anyway be commited when the object is added to a composition.
Also update the tests, as we set properties spearately then
check the stop, we can commit the source at its creation without
removing meaning from the tests.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D84
2015-04-08 21:38:48 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track.c:
timeline, track: Emit commited at the correct moment.
Summary:
+ [API] GESTrack::commited signal.
+ [API] ges_track_commit_sync
We were emitting commited when timeline_commit was called, which
wasn't very helpful. This commit makes it so we emit commited once
all the compositions have actually been commited.
We also add a synchronous commit method to spare the user
the need to connect to the signal and wait, and update the
documentation.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D83
2015-04-07 22:48:27 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-layer.c:
layer: call timeline_element_set_timeline in layer_set_timeline.
Summary:
Otherwise if there was still a reference to the layer when it
is removed from the timeline, it fails when the last reference
is released, because timeline_element_set_timeline calls
timeline_remove_element, which tries to remove the element from
an already disposed hashtable.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D82
2015-04-08 17:05:19 +0200 Edward Hervey <edward@centricular.com>
* common:
* tests/check/Makefile.am:
tests: Use AM_TESTS_ENVIRONMENT
Needed by the new automake test runner
2015-04-03 17:38:53 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* data/completions/ges-launch-1.0:
* ges/ges-command-line-formatter.c:
* ges/ges-structure-parser.c:
* ges/ges-structured-interface.c:
* ges/parse.l:
* tools/ges-launch.c:
ges-launch: Add support for +test-clip
Summary: With the pattern as a mandatory argument.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D68
2015-04-03 16:48:03 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-project.c:
ges-project: Surface a meaningful error when no suitable formatter.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D67
2015-04-03 15:35:54 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launcher.c:
ges-launch: Add a save-only option.
Summary: + Allows to serialize the timeline without playing it back.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D66
2015-04-03 18:58:32 +0100 Tim-Philipp Müller <tim@centricular.com>
* autogen.sh:
* common:
Automatic update of common submodule
From bc76a8b to c8fb372
2015-03-31 14:26:19 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-timeline-element.c:
timeline-element: Disconnect child properties handlers.
Summary:
+ And freeze notifies while doing so.
We had a race with GstController which isn't MT safe, we can
fix it by propertly disconnecting signals, and making sure
no notifies are emitted while doing so.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D64
2015-03-30 18:41:11 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-track.c:
track: Set any caps features on tmpcaps.
Summary: Before checking if we have a specific constructor for a track type.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D63
2015-03-31 15:29:49 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-pipeline.c:
pipeline: no reason to disconnect a pad that is NULL anyway.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D62
2015-03-25 15:43:16 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/validate/geslaunch.py:
* tools/ges-launcher.c:
ges-launch: Better document options.
+ Sort them by topic
+ remove --sample-paths and --sample-paths-recurse.
http://phabricator.freedesktop.org/D58
2015-03-24 14:13:54 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/Makefile.am:
* tools/ges-launch.c:
* tools/ges-launcher.c:
* tools/ges-launcher.h:
* tools/ges-validate.c:
* tools/ges-validate.h:
* tools/utils.c:
* tools/utils.h:
ges-launch: port to GApplication
Summary: + Extract some utility functions.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D55
2015-03-25 12:25:54 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/Makefile.am:
build: no reason to introspect nodist sources.
Summary: g-ir-scanner was erroring like crazy on the generated sources.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D57
2015-03-25 12:22:43 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-pitivi-formatter.c:
ges-pitivi-formatter: Don't flood stdout with alarming conclusions.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D56
2015-03-23 12:27:56 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* data/completions/ges-launch-1.0:
completions: port to new base gst script
2015-03-24 17:13:20 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* data/completions/ges-launch-1.0:
completions: Fix completions after the first command.
2015-03-24 13:01:39 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launch.c:
Revert "ges-launch: no need for a tmp string pointer"
This reverts commit 44a0924c1f6b07f0c91ee8bd03d3ae5d97da92d5.
There indeed is a need for a tmp string pointer.
2015-03-24 11:21:08 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* tools/ges-launch.c:
ges-launch: no need for a tmp string pointer
2015-03-24 11:19:09 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* tools/ges-launch.c:
ges-launch: free string before going out of scope
CID #1291632
2015-02-26 17:08:43 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/Makefile.am:
build: fix make distcheck.
2015-03-17 18:25:02 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
* ges/ges-structured-interface.c:
ges: Do not clear potentially NULL errors
And avoid dereferencing NULL errors
2015-03-13 12:02:30 +0000 Thibault Saunier <tsaunier@gnome.org>
* data/completions/ges-launch-1.0:
* ges/ges-structure-parser.c:
* ges/parse.l:
ges-launch: Prefix clip, transition and effect instruction with a +
Slightly changing the CLI so that we have indicators of the timeline
commands adding new objects.
2015-03-01 13:10:55 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges: Accept path as URI in the create clip structured interface
2015-02-26 13:49:23 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launch.c:
ges-launch: Remove useless options, rename some short options.
2015-02-26 13:19:25 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* data/completions/ges-launch-1.0:
* tools/ges-launch.c:
bash-completion: Add support for new ges-launch commands.
2015-02-25 18:01:38 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-structure-parser.c:
* ges/parse.l:
parse.l: Modify command arguments.
+ --clip uri=file:// becomes clip file:// for example.
2015-02-23 17:41:59 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-command-line-formatter.c:
* ges/ges-structure-parser.c:
* ges/ges-structure-parser.h:
* ges/ges-structured-interface.c:
* ges/ges-structured-interface.h:
* ges/ges-validate.c:
* tools/ges-launch.c:
ges: command-line-formatter: Properly error out on invalid arguments
2015-02-23 14:48:18 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/Makefile.am:
* ges/ges-command-line-formatter.c:
* ges/ges-command-line-formatter.h:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-project.h:
* ges/ges-structure-parser.c:
* ges/ges-structure-parser.h:
* ges/ges-structured-interface.h:
* ges/ges.c:
* ges/ges.h:
* ges/parse.l:
* tools/Makefile.am:
* tools/ges-launch.c:
ges: Factor out a GESCommandLineFormatter class
This formatter will allow any user to deserialize a timeline using
the new ges-launch command line interface
2015-02-23 00:53:14 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-structured-interface.c:
* ges/ges-validate.c:
structured-interface: Be clever when no layer priority specified.
And add the new element to the same layer as the last clip that
was added, insted of adding to the last layer of the timeline
(and with the current code, actually adding a new layer each time)
2015-02-21 15:30:57 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-structured-interface.c:
ges-structured-interface: fix build
2015-02-20 12:26:54 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges: Automatically put clips at the end of layer if no start specified
In the 'structured' interface we should add it at the end of the layer
And make use of the new ges_timeline_get_layer API
2015-02-19 19:29:36 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-structured-interface.c:
* tools/ges-launch.c:
structure-interface: rename layer-priority to layer.
+ And add a short name for it in ges-launch.
2015-02-20 12:12:52 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges: Add layer up to the wanted layer priority in the structure interface
Making the thing easier to use
2015-02-19 19:16:44 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-structure-parser.c:
* tools/parse.l:
ges-launch: parse property names longer than 1 char.
+ And finish the previous structure when encountering a setter.
2015-02-19 13:15:25 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-structure-parser.c:
* tools/ges-structure-parser.h:
* tools/parse.l:
ges-launch: Update lexer / parser to handle set-*
+ cleanup of the lexer
2015-02-19 18:28:41 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-structure-parser.c:
tools: Implement a new CLI interface for the timeline creation
2015-02-19 12:34:21 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-structured-interface.c:
ges: Handle setting child property on container directly in the structured based interface
2015-02-19 11:28:48 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/parse.l:
launcher: Add support to --set-property in the parser
2015-02-19 08:51:20 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* .gitignore:
* configure.ac:
* tools/Makefile.am:
* tools/ges-launch.c:
* tools/ges-structure-parser.c:
* tools/ges-structure-parser.h:
* tools/parse.l:
ges-launch: Implement a new parser for the commandline.
Summary: + flex-based lexing and manual simplistic parsing.
Test Plan: Use that stuff to make awesome things, see if it breaks.
2015-02-17 23:48:12 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/Makefile.am:
* ges/ges-structured-interface.c:
* ges/ges-structured-interface.h:
* ges/ges-validate.c:
ges: Add an internal GstStructure based interface
To be use by GstValidate action and ges-launch
Reviewers: Mathieu_Du, thiblahute
Differential Revision: http://phabricator.freedesktop.org/D42
2015-03-19 09:32:25 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
ges: Fix build for older GLib
The return type of g_hash_table_insert changed from void to boolean
2015-02-19 18:19:44 +0100 Thibault Saunier <tsaunier@gnome.org>
* .arcconfig:
* ges/ges-container.c:
container: implement children property handling
2015-02-19 16:30:18 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/check/ges/timelineedition.c:
ges: Move the notion of children properties to GESTimelineElement
Summary:
Deprecate the old GESTrackElement children property handling API.
New APIs:
* ges_timeline_element_list_children_properties
* ges_timeline_element_lookup_child
* ges_timeline_element_get_child_property_by_pspec
* ges_timeline_element_get_child_property_valist
* ges_timeline_element_get_child_properties
* ges_timeline_element_set_child_property_valist
* ges_timeline_element_set_child_property_by_pspec
* ges_timeline_element_set_child_properties
* ges_timeline_element_set_child_property
* ges_timeline_element_get_child_property
* ges_timeline_element_add_child_property
* ges_timeline_element_remove_child_property
Deprecated APIs:
* ges_track_element_list_children_properties
* ges_track_element_lookup_child
* ges_track_element_get_child_property_by_pspec
* ges_track_element_get_child_property_valist
* ges_track_element_get_child_properties
* ges_track_element_set_child_property_valist
* ges_track_element_set_child_property_by_pspec
* ges_track_element_set_child_properties
* ges_track_element_set_child_property
* ges_track_element_get_child_property
* ges_track_element_add_child_property
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D40
2015-02-20 12:24:49 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Add API to find a layer with a specific priority in a timeline
Summary:
API:
* ges_timeline_get_layer
Test Plan: Nan
Reviewers: mathieu.duponchelle
2015-02-20 12:24:49 +0100 Thibault Saunier <tsaunier@gnome.org>
* .arcconfig:
* docs/libs/ges-sections.txt:
* ges/ges-container.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/check/ges/timelineedition.c:
Revert "ges: Move the notion of children properties to GESTimelineElement"
I got some trouble with
arc land
and I wanted to push the 3 commit coming after this revert as 3
different commits but they ended up being all squash into one single
commit, which is clearly not cool for later bisecting and blaming.
Reverting that commit and re pushing those 3 commits as they were
supposed to be.
This reverts commit 9fe15ef4354dc1d878dbdec80908ac8541bc6131.
2015-03-18 20:23:55 +0100 Thibault Saunier <tsaunier@gnome.org>
* .arcconfig:
* docs/libs/ges-sections.txt:
* ges/ges-container.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/check/ges/timelineedition.c:
ges: Move the notion of children properties to GESTimelineElement
Summary:
Deprecate the old GESTrackElement children property handling API.
New APIs:
* ges_timeline_element_list_children_properties
* ges_timeline_element_lookup_child
* ges_timeline_element_get_child_property_by_pspec
* ges_timeline_element_get_child_property_valist
* ges_timeline_element_get_child_properties
* ges_timeline_element_set_child_property_valist
* ges_timeline_element_set_child_property_by_pspec
* ges_timeline_element_set_child_properties
* ges_timeline_element_set_child_property
* ges_timeline_element_get_child_property
* ges_timeline_element_add_child_property
* ges_timeline_element_remove_child_property
Deprecated APIs:
* ges_track_element_list_children_properties
* ges_track_element_lookup_child
* ges_track_element_get_child_property_by_pspec
* ges_track_element_get_child_property_valist
* ges_track_element_get_child_properties
* ges_track_element_set_child_property_valist
* ges_track_element_set_child_property_by_pspec
* ges_track_element_set_child_properties
* ges_track_element_set_child_property
* ges_track_element_get_child_property
* ges_track_element_add_child_property
Reviewers: Mathieu_Du
Reviewed By: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D40
2015-03-01 21:13:35 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-types.h:
ges: Remove all reference to already dead GESSimpleLayer
2015-03-05 13:53:15 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* ges/ges-project.c:
project: remove unnecessary dereference
g_clear_error() already dereferences the error pointer, no need to manually
check and do it.
CID #1257630
2015-03-03 14:26:40 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* tests/examples/test4.c:
examples: check argument is valid
2015-02-27 01:26:24 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-base-xml-formatter.c:
ges-base-xml-formatter: fix setting of child properties
Make sure all child properties get set. GstStructureForeachFunc
takes a gboolean return value that decides whether to
continue or not.
2015-02-27 01:22:39 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-meta-container.c:
ges-meta-container: fix ges_meta_container_foreach()
Really call function on all metadata inside the container
instead of stopping randomly. GstStructureForeachFunc
takes a gboolean return value.
2015-02-26 20:14:31 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
ges-base-xml-formatter: fix property setting
GstStructureForeachFunc has a gboolean return value,
and the foreach function will stop unless we return
TRUE here. This meant it was potluck whether all
properties in the structure got set or not.
Fixes setting of text overlay clip text property
in particular.
https://bugzilla.gnome.org/show_bug.cgi?id=743874
2015-02-24 18:00:34 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* configure.ac:
build: fix make distcheck.
And install bash-completions in the supplied prefix.
2015-02-20 15:22:25 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* Makefile.am:
* configure.ac:
* data/completions/ges-launch-1.0:
ges-launch: enable auto-completion.
Summary: + And be a little smart about it.
Test Plan: New feature, working, not testing bash completion
Reviewers: tsaunier
Differential Revision: http://internal.opencreed.com:8888/D25
2015-02-20 13:51:47 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track.c:
ges: Always set ANY capsfeatures on tracks caps property
Summary:
We should not restrict the CapsFeatures on the track caps.
If someone want to do such a restriction he should add it to
the restriction caps directly
Test Plan: Run testsuite
Reviewers: mathieu.duponchelle
2015-02-19 17:33:12 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-project.c:
ges-project: no need to commit an empty timeline.
Summary: Can lead to deadlocks if the user commits at the same time.
Test Plan: Ran make check, it worked
Reviewers: tsaunier
2015-02-10 10:29:39 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* ges/ges-track.c:
ges: initialize timeline_duration value
If priv->timeline is False the function does not set any value for
timeline_duration before using it in gap_new (). Initialize the value to aviod
unexpected behaviour.
CID #1268405
2015-02-06 10:01:14 +0100 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
configure: Bump our Gst related dependencies to 1.5.0.1
2015-02-04 15:21:55 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Properly protect the children task
2015-02-03 12:02:42 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-track.c:
* ges/nle/nlecomposition.c:
* tests/check/nle/common.c:
* tests/check/nle/nlecomposition.c:
Cleanly handle removing the last object in a composition
The strategy here is to seek at the new end of the composition. And in
GES we always add a 1ns long gap at the end of the tracks so that all
track have the exact same duration, and we have black frames when the
timeline is empty
2015-02-02 11:57:19 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-validate.c:
validate: Do not wrongly set clip duration for UriClips
That was making no sense at all....
2015-01-12 13:04:16 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-validate.c:
validate: Properly expose the commit action as ASYNC
2015-01-27 21:16:05 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-layer.c:
layer: Remove child from children list before emitting "child-removed"
2015-01-26 18:25:02 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* ges/nle/nlecomposition.c:
ges: remove useless gpointer variable
gpointer useless is indeed useless since we can use GST_DEBUG_REGISTER_FUNCPTR
to avoid having to store the return of the GST_DEBUG_FUNCPTR registration.
CID #1265771
2015-01-26 17:46:36 +0000 Luis de Bethencourt <luis.bg@samsung.com>
* ges/ges-timeline.c:
ges: merge MIN() and MAX() into CLAMP()
Merge the usage of MIN() and MAX() into one CLAMP() function.
CID #1265770
2015-01-24 10:54:13 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges.c:
ges: Make sure the GESTextOverlayClip is register on init
So it can be used when de serializing projects containing it.
https://bugzilla.gnome.org/show_bug.cgi?id=743406
2015-01-12 16:14:32 +0100 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From f2c6b95 to bc76a8b
2014-12-18 10:56:54 +0100 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From ef1ffdc to f2c6b95
2014-12-13 15:13:32 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Avoid trying to remove a signal handler that has already been removed
2014-12-12 12:02:41 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-asset.c:
uri-asset: Check that the newly computed URI exist
No the one we know failed!
2014-12-10 10:21:16 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
* ges/ges-validate.c:
validate: Add an action type to load a project from its content
2014-12-06 10:41:25 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-track.c:
Revert "track: [API]: ges_track_update_restriction_caps."
This reverts commit e9544ce1d67da6990f0a1cae75774063ec37be9d.
This commit should never have landed we decided we do not want to do
that.
2014-12-01 00:38:07 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Add a method to easily check if a timeline is empty
API:
+ ges_timeline_is_empty
2014-12-01 00:34:38 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-group.c:
* ges/ges-timeline.c:
* tests/check/ges/group.c:
ges: Recompute Group priority when one of its clip.layer change priority
And add a unit test for that case where it was previously failing
2014-11-29 01:12:43 +0100 Thibault Saunier <tsaunier@gnome.org>
* tests/validate/geslaunch.py:
validate: Start using the new testsuite based API from GstValidate
2014-11-26 00:28:35 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-video-track.c:
track: [API]: ges_track_update_restriction_caps.
+ And specify default restriction caps for audio and video tracks.
+ Add ges_track_set_restriction_caps to the sections, it was missing.
https://bugzilla.gnome.org/show_bug.cgi?id=740726
2014-11-25 23:35:55 +0100 Thibault Saunier <tsaunier@gnome.org>
* tests/check/Makefile.am:
* tests/check/ges/integration.c:
tests: Remove integration tests, GstValidate is the way forward!
2014-11-25 19:15:52 +0100 Thibault Saunier <tsaunier@gnome.org>
* tests/validate/geslaunch.py:
* tools/ges-launch.c:
validate: Handle long tests in the TestManager
+ Minor bug fixes
2014-11-25 19:14:59 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Minor debug enhancements
2014-11-25 19:13:02 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
pipeline: Expose playsink::video-filter and playsink::audio-filter
That can be used to add filters at the very end of the pipeline,
and one can think of adding a watchdog element in there for
example.
2014-11-25 18:46:03 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
pipeline: Dot not check for chain->tee twice
2014-11-21 19:53:52 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-validate.c:
* tools/ges-validate.c:
validate: Avoid depending on not stable APIs
And cleanup includes
2014-11-21 19:53:36 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-validate.c:
validate: Move to new action type registration API
2014-11-16 20:07:24 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-validate.c:
validate: Add missing action execution printing
2014-11-16 20:05:25 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
timeline-element: Properly handle setting name to NULL
2014-11-04 15:38:05 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-pipeline.c:
* ges/ges-track.c:
* ges/nle/nlecomposition.c:
nlecomposition: Add a 'query-position' signal
In order to get the precise position of the pipeline, the only
way is to ask the 'application' to query the pipeline position and
use it.
2014-11-03 12:18:35 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-project.h:
* ges/ges-uri-asset.h:
* ges/ges.c:
* tools/ges-launch.c:
ges: Keep backward compatibility for relocated assets CLI
Meaning adding an API for user to add relacation URI paths
API:
ges_add_missing_uri_relocation_uri
2014-11-03 12:17:42 +0100 Thibault Saunier <tsaunier@gnome.org>
* .gitignore:
Add some ignore files to .gitignore
2014-11-03 11:59:32 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges.c:
* ges/ges.h:
ges: Add a method to pass argc/argv to GES at init time
Allowing user to set configuration actions without using
the GES GOptionGroup
https://bugzilla.gnome.org/show_bug.cgi?id=740717
2014-11-03 11:58:30 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/Makefile.am:
* ges/ges-validate.c:
* ges/ges.h:
* tools/ges-validate.c:
* tools/ges-validate.h:
validate: Expose GES Validate action
So other can also make use of those action outside
ges-launch itself
https://bugzilla.gnome.org/show_bug.cgi?id=740718
2014-11-03 11:55:29 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-asset.c:
uri-asset: Ensure that UriAssets loaded with error are remembered
2014-11-03 11:54:10 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
* ges/ges-project.h:
project: Add a method to create assets synchronously
This allows to create a add an asset to a project in a
synchronous way.
API:
ges_project_create_asset_sync
https://bugzilla.gnome.org/show_bug.cgi?id=740716
2014-11-03 11:51:51 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-project.h:
* ges/ges.c:
* tools/ges-launch.c:
ges: Add an init option to set media paths for moved assets
Allowing user to easily set a set of paths to look for moved
assets instead of needing the to re implement that logic
over and over.
https://bugzilla.gnome.org/show_bug.cgi?id=740714
2014-11-03 11:14:45 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges.c:
* ges/ges.h:
ges: Add a method to get GES GOption group
This allow us to have global options to be
passed as arguments of the program to configure
GES behaviour
API:
ges_init_get_option_group
https://bugzilla.gnome.org/show_bug.cgi?id=740715
2014-11-16 16:51:54 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
pipeline: Disable encoding format renegotiation when rendering
2014-12-05 22:19:32 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/ges/track.c:
check/ges/track: add forgotten test file.
2014-11-26 01:08:31 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-audio-source.c:
* ges/ges-title-source.c:
* ges/ges-video-source.c:
*source: new lines in xml break my parser.
+ So I removed them cause I'm clever
https://bugzilla.gnome.org/show_bug.cgi?id=740727
2014-11-26 20:34:24 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* docs/libs/ges-sections.txt:
* ges/ges-audio-track.c:
* ges/ges-track.c:
* ges/ges-track.h:
* tests/check/Makefile.am:
* tests/check/ges/.gitignore:
track: [API]: ges_track_update_restriction_caps.
+ And specify default restriction caps for audio tracks.
+ Add ges_track_set_restriction_caps to the sections, it
was missing.
https://bugzilla.gnome.org/show_bug.cgi?id=740726
2014-11-27 17:13:27 +0100 Edward Hervey <bilboed@bilboed.com>
* common:
Automatic update of common submodule
From 7bb2bce to ef1ffdc
2014-11-10 17:24:11 +0100 Thibault Saunier <tsaunier@gnome.org>
* tests/check/Makefile.am:
tests: Fix make distcheck
Some xges project are not used anymore and some new appeared, clean
that up in the Makefile.am
2014-11-10 16:20:29 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
* ges/ges-xml-formatter.c:
element: Add a property allowing user to avoid serializing TimelineElements on demand
2014-10-27 16:51:42 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-base-xml-formatter.c:
* ges/ges-group.c:
* ges/ges-internal.h:
* ges/ges-timeline.c:
* ges/ges-xml-formatter.c:
* tests/check/ges/group.c:
* tests/check/ges/project.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
xml-formatter: Serialize groups
They were not serialized until now.
That implies several changes:
* Override GESTimelineElement [start, inpoint, duration] properties in
GESGroup to ensure that those properties are not serialized as they
should not be.
* Rename GESBaseXmlContainer->clips field to
GESBaseXmlContainer->containers as the hashtable now contains Groups
https://bugzilla.gnome.org/show_bug.cgi?id=709148
2014-11-03 13:06:34 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
pipeline: Do not relink an already linked track
2014-11-02 11:46:37 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/gstframepositionner.c:
* tests/check/ges/timelineedition.c:
frameposition: In case sources have the same size as track, follow track size
For example if the size has been serialized in a file, but the user has
not personalized the size, we want that whenever the restriction caps
change the size, the video should take the size of the track
restriction caps.
We know need to keep track of the current positionner.size even if
setting through caps size changes.
https://bugzilla.gnome.org/show_bug.cgi?id=739527
2014-11-01 11:32:16 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-base-xml-formatter.c:
xml-formatter: Do not forget to set properties on the track elements
We were just setting children properties, even if the propertie to be
set on themselves where properly passed in
https://bugzilla.gnome.org/show_bug.cgi?id=729487
2014-11-01 10:34:41 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
* ges/ges-title-source.h:
title-source: Expose the shaded-background property
Rework the way we override the background property to avoid trying to
lookup shaded-foreground-color!
https://bugzilla.gnome.org/show_bug.cgi?id=728635
2014-11-01 09:47:39 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
titlesource: Expose the outline-color property
https://bugzilla.gnome.org/show_bug.cgi?id=728634
2014-10-31 11:56:16 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: launch: Wait for the project to be loaded to activate gst-validate
Otherwize we could have a race where GstValidate actions are launched
even before the project has been loaded
2014-10-31 11:32:37 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Never try to propose same URI when we know it is missing URI
2014-10-28 18:36:55 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-pipeline.c:
* ges/ges-timeline.c:
pipeline: connect tracks when added, not only on state change.
+ ghost track src pad before calling track added so that
pipeline has a pad to link.
+ Remove silly comment.
2014-10-30 12:36:57 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-audio-source.c:
* ges/ges-title-source.c:
* ges/ges-video-source.c:
Document known and usable child properties for GESTrackElements subclasses
2014-10-30 12:38:16 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools:launch: Properly terminate when we get a SIGINT signal
2014-10-29 13:40:55 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-source.c:
* ges/ges-title-source.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
trackelement: Add a lookup_child vmethod
This method can be used for subclass to override the default behaviour
for child lookup. This vmethod can be used for example in the case where
you want the name of a child property to be 'overridden'.
As an example in the GESTitleSource where we have a videotestsrc
which has a 'foreground-color' property that is used in the TitleSource
to set the background color of the title, this vmethod is now used to
tweak the name passed as parameter to rename "background" to
"foreground-backend" making our API understandable.
API:
GESTrackElement::lookup_child
https://bugzilla.gnome.org/show_bug.cgi?id=727880
2014-10-29 12:44:17 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
title: Deprecate all method related to child properties
The standard way setting children properties is by using the
GESTrackElement::set_child_propery and friend methods
https://bugzilla.gnome.org/show_bug.cgi?id=727880
2014-10-29 13:38:13 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
ges-validate: inform of clip removal.
2014-10-29 13:25:06 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-timeline.c:
timeline: connect_after to layer.object_added.
We want the user provided signal handlers to be called before
we add track elements.
2014-10-28 17:33:09 +0100 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/nle/nlecomposition.c:
* ges/nle/nleobject.c:
nle: Downgrade some INFO to DEBUG.
+ makes it more pleasant to read logs in info.
2014-10-22 13:49:27 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
* ges/nle/nleobject.c:
* ges/nle/nleobject.h:
* ges/nle/nleoperation.c:
* ges/nle/nlesource.c:
* tests/check/Makefile.am:
nle: Handle sending SEEK event recursively to our children
Instead of relying on it being implemented in core (as it is currently
not!)
2014-10-06 12:30:17 +0200 Thibault Saunier <tsaunier@gnome.org>
* tests/check/nle/nlecomposition.c:
tests: Use audiomixer as an audio mixing element
Adder is the past!
2014-10-01 10:04:53 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
validate: Implement validate Action type to handle KeyFrames
New action types:
* set-control-binding
* add-keyframe
* remove-keyframe
2014-10-01 09:54:49 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
track-element: Add a signal about added control bindings
API:
GESTrackElement::control-binding-added
2014-10-01 09:53:44 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-internal.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-xml-formatter.c:
track-element: Add an API to list all set ControlBinding
API:
ges_track_element_get_all_control_bindings
2014-09-27 09:59:12 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-xml-formatter.c:
title-source: Properly expose children properties
+ Make sure that the TitleClip properties are not serialized anymore as
they are serialized through children properties now.
+ Enhance debugging for not serialized properties in GESXmlFormatter.
2014-09-26 18:28:16 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/nle/nlecomposition.c:
nlecomposition: update base time before seeking current stack.
There could be a race where the new segments were pushed after
a seek on some / all pads before the operation had had its basetime
updated, and thus incoming segments were tweaked wrongly.
Reproducible with 3 clips composited and multiple seeks,
FIXME hard to validate.
2013-09-14 01:35:55 +0200 Joris Valette <joris.valette@gmail.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
formatter: save and load source's children properties
2013-09-23 18:40:34 +0200 Joris Valette <joris.valette@gmail.com>
* tests/check/ges/project.c:
* tests/check/ges/test-properties.xges:
tests: project: Add children properties check
Rename test_project_add_keyframes into test_project_add_properties
2014-09-26 18:39:19 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
project: Do not concider adding am already tracked asset as failure
It is not really a failure, just a special case.
2014-09-26 17:51:14 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-validate.c:
ges-validate: Add actions to add/remove object from container
+ Add an action to set an asset on a GESTimelineElement
2014-09-26 17:50:03 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Fix edit_container return code
It used to always return FALSE.
+ Fix minor leaks
+ Do not seek ourself, it is users responsability to seek and
commit these days.
2014-09-26 17:44:12 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-extractable.c:
* ges/ges-extractable.h:
* ges/ges-transition-clip.c:
extractable: Make extractable_set_asset return a boolean
WARNING: This is a minor API breakage, it should be harmless
and allows us to let users know whether changing setting the
asset worked or no.
2014-09-25 17:31:49 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Add an action type to set restriction caps on track
2014-09-25 17:31:05 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
tools: Handle asset relocation for assets from scenario
Allowing us to share scenario and media file!
2014-09-25 15:30:55 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Add support for Layer.auto-transition
+ Fix a bug where the mandatory field name for the name of the clip to
remove in remove-clip did not correspond to what we used in the action
(clip-name vs name).
2014-09-25 14:59:40 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Add commit and split-clip action types
And stop commit at the end of other action types, this now
has to be done in the scenario itself.
2014-09-25 14:57:35 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Add start/inpoint/duration params to the add-clip action
2014-09-25 14:55:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools:ges-launch: Save the project at the end of execution
So that changes from scenarios are taken into account
2014-09-25 14:53:36 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Fix the get_current_position method
2014-09-23 15:01:56 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Wait for a buffer from the new segment to restart task
Avoiding races where we would launch a seek right after a FLUSH_STOP and
before we get a Buffer which would possibly lead to ERROR message when upstream
elements try to push a buffer and check_sticky fails because downstream
is flushing.
2014-09-22 18:58:43 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Do useless thing so that the compiler doesn't warn us!
Otherwize we get a gcc warning about useless statements.
2014-09-19 17:14:51 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools:ges-launch: Do not set pipeline state before the timeline is ready
When we are loading a project
2014-09-19 17:13:52 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Update start stop and duration on initialization
So that the composition is usable right after the initialization
2014-09-19 17:12:18 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
ges: Avoid to always commit when a project is loaded
In case we are not in a PLAYING state and the project is loaded, the
only thing that should be done is to fill the gaps and this way when the
composition get to PLAYING, their initialization will be enough to get
everything on track.
2014-09-19 12:58:26 +0200 Thibault Saunier <tsaunier@gnome.org>
* tests/check/nle/nlecomposition.c:
* tests/check/nle/simple.c:
tests: Use the new gst_check_objects_destroyed_on_unref function
2014-09-19 12:57:30 +0200 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
* ges/ges-track.c:
* tests/check/nle/common.c:
Start taking advantage of the fact that NLE is in the same three as GES!
2014-09-19 12:55:51 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Fix several leaks
* In the action closure invokation we were alway leaking the composition.
* gst_bin_add will actually take an extra ref since we already gst_object_ref_sink so we
own the object, other call to that method will increase the refcount which means we do
not need to pass an extra ref to the bin.
* We want to ref_sink right when the object is added to the composition, making things
cleaner and simpler to follow in the tests.
2014-09-19 12:52:45 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Activate the composition ghostpad to flush downstream
Since commit 060b16ac75ac227d4cfe1db89ccdc4f4b31545ff
"pad: don't accept flush-stop on inactive pads" in -core, the flush_stop event will not be
fowarded downstream in case the pad is not activated. In our case the element is in
READY state, so pads are deactivated. In that commit we simply make sure that the
event can be fowarded downstream
2014-09-19 12:49:52 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nlecomposition: Restart the main task on FLUSH_STOP
It means stop using a dedicated probe to restart task so that the main probe does not
drop the FLUSH_STOP event before we have a chance to restart the task. (and this is
for sure cleaner/and simpler to read).
2014-09-19 12:29:28 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlesource.c:
nle:source: Protect the probeid field with the GST_OBJECT_LOCK
Avoiding races where we try to remove a probe on an already destroyed pad.
2014-09-19 12:28:05 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/gstframepositionner.c:
framepositionner: Add a weak pointer to the track_source
Avoiding assertions when the object is destroyed.
2014-08-25 18:11:52 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/nle/nlesource.c:
nle: Seek gnlsource when prerolled only
Instead of implementing seek on ready all around GStreamer, just
seek in PAUSED, when the source gets 'prerolled'.
2014-08-28 10:20:24 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track.c:
ges-track: Do not set removed object state
It is the composition to handle
2014-08-20 13:15:30 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/nle/nlecomposition.c:
nle: Stop using a MainContext avoiding needing one iter per source dispach
Using GClosure to handle the source handling and handle our action
ordering ourselves
https://bugzilla.gnome.org/show_bug.cgi?id=733342
2014-10-21 11:01:17 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-audio-transition.c:
* ges/ges-smart-adder.c:
ges: Use audiomixer instead of adder by default
2014-10-21 10:59:43 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
Port to the new NLE API
Port the timeline, track and pipeline to the new NLE API where
all objects have static src pads.
2014-08-15 15:48:14 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* docs/random/design:
* docs/random/lifecycle:
* docs/random/scenarios:
* ges/Makefile.am:
* ges/ges-audio-source.c:
* ges/ges-audio-transition.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-layer.h:
* ges/ges-operation.c:
* ges/ges-source.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-track.c:
* ges/ges-utils.c:
* ges/ges-video-source.c:
* ges/ges.c:
* ges/nle/.gitignore:
* ges/nle/gnlmarshal.list:
* ges/nle/nle.h:
* ges/nle/nlecomposition.c:
* ges/nle/nlecomposition.h:
* ges/nle/nleghostpad.c:
* ges/nle/nleghostpad.h:
* ges/nle/nleobject.c:
* ges/nle/nleobject.h:
* ges/nle/nleoperation.c:
* ges/nle/nleoperation.h:
* ges/nle/nlesource.c:
* ges/nle/nlesource.h:
* ges/nle/nletypes.h:
* ges/nle/nleurisource.c:
* ges/nle/nleurisource.h:
* gnl/Makefile.am:
* gnl/gnl.c:
* gnl/gnlobject.h:
* tests/check/Makefile.am:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/check/nle/common.c:
* tests/check/nle/common.h:
* tests/check/nle/complex.c:
* tests/check/nle/nlecomposition.c:
* tests/check/nle/nleoperation.c:
* tests/check/nle/nlesource.c:
* tests/check/nle/seek.c:
* tests/check/nle/simple.c:
* tests/examples/transition.c:
Cleanup import of GNL and rename gnl to nle for Non Linear Engine
Conflicts:
ges/ges-track-element.c
gnl/Makefile.am
gnl/common
Conflicts:
ges/ges-internal.h
ges/ges-track.c
ges/ges-utils.c
ges/nle/.gitignore
ges/nle/gnlmarshal.list
ges/nle/nle.h
ges/nle/nlecomposition.c
ges/nle/nlecomposition.h
ges/nle/nleghostpad.c
ges/nle/nleghostpad.h
ges/nle/nleobject.c
ges/nle/nleoperation.c
ges/nle/nleoperation.h
ges/nle/nlesource.c
ges/nle/nlesource.h
ges/nle/nletypes.h
ges/nle/nleurisource.c
ges/nle/nleurisource.h
gnl/Makefile.am
gnl/gnl.c
gnl/gnl.h
gnl/gnl/gnl.h
gnl/gnl/gnlcomposition.c
gnl/gnl/gnlcomposition.h
gnl/gnl/gnlghostpad.c
gnl/gnl/gnlghostpad.h
gnl/gnl/gnlmarshal.list
gnl/gnl/gnlobject.c
gnl/gnl/gnloperation.c
gnl/gnl/gnloperation.h
gnl/gnl/gnlsource.c
gnl/gnl/gnlsource.h
gnl/gnl/gnltypes.h
gnl/gnl/gnlurisource.c
gnl/gnl/gnlurisource.h
gnl/gnlcomposition.c
gnl/gnlcomposition.h
gnl/gnlghostpad.c
gnl/gnlghostpad.h
gnl/gnlmarshal.list
gnl/gnlobject.c
gnl/gnlobject.h
gnl/gnloperation.c
gnl/gnloperation.h
gnl/gnlsource.c
gnl/gnlsource.h
gnl/gnltypes.h
gnl/gnlurisource.c
gnl/gnlurisource.h
gnl/tests/check/gnl/common.c
gnl/tests/check/gnl/common.h
gnl/tests/check/gnl/complex.c
gnl/tests/check/gnl/gnlcomposition.c
gnl/tests/check/gnl/gnloperation.c
gnl/tests/check/gnl/gnlsource.c
gnl/tests/check/gnl/seek.c
gnl/tests/check/gnl/simple.c
tests/check/gnl/common.c
tests/check/gnl/common.h
tests/check/gnl/complex.c
tests/check/gnl/gnlcomposition.c
tests/check/gnl/gnloperation.c
tests/check/gnl/gnlsource.c
tests/check/gnl/seek.c
tests/check/gnl/simple.c
tests/check/nle/common.c
tests/check/nle/common.h
tests/check/nle/complex.c
tests/check/nle/nlecomposition.c
tests/check/nle/nleoperation.c
tests/check/nle/nlesource.c
tests/check/nle/seek.c
tests/check/nle/simple.c
2014-08-12 14:35:09 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Commit all values before initializing the pipeline
2014-08-05 15:43:11 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Prevent update sources from being added after seek.
2014-07-31 16:02:06 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: only flush stop after seek was set to READY.
2014-07-29 23:41:45 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Also ignore all messages from children tearing them to READY
At that stage elements should not be taken into account anymore. In some
spacial cases they can post ERROR messages (when trying to push sticky
events on flushing pads) on the bus. We actually do not care about those
issues at that exact point.
2014-07-28 20:24:50 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Do not try to paused the task that could have been stopped
There was a race where we ended up trying to update the pipeline and
stop our children task at the exact moment where we were actually
setting its state to PAUSED. Take the composition lock and make sure
that can't happen
2014-07-25 10:55:52 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/gnlcomposition.c:
composition: Post messages on the bus when it updates itself
And properly set the seqnums of those messages so that the application,
parents have the exact information about what is going on and why.
2014-07-22 18:22:09 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: push flush events on the target.
2014-07-19 11:41:56 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlcomposition.h:
* tests/check/gnl/common.c:
composition: No need for action signal to add and remove objects!
2014-07-21 16:59:24 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: we're initialized even if update_pipeline returned FALSE
2014-07-21 16:57:14 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: reset base time to 0 when needed.
2014-07-21 16:54:46 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Forward flushes on initialization
2014-07-18 04:04:16 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlobject.c:
object: make the check for self commit work in a crappy way.
2014-07-18 04:01:25 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: use g_main_context_set_dispatches_per_iteration ()
Let's hope this gets merged ...
2014-07-15 15:17:43 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: set next_eos_seqnum when we get seeked too.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-15 15:47:59 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
* gnl/gnlobject.c:
* gnl/gnlobject.h:
gnl: Rely on the GstElement to properly handle their seqnums
Actually it is not exactly thread safe to tweak them ourself at the GNL
level.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-15 15:16:23 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Always return a value in GSourceFuncs
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-15 15:01:59 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Rename _flush_downstream to _have_to_seek_downstrean
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-15 14:59:54 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
* gnl/gnlobject.h:
* gnl/gnlsource.c:
* tests/check/gnl/common.c:
source: Remove cruft code to seek sources
We now seek on ready and thus do not need to do magic trying to seek
the source as soon as possible as we now do it even sooner than soon.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-15 09:46:03 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Do not remove all sources when stopping task
We only want to remove updates and seek, commits should be kept
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-15 02:37:25 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Don't send flushes downstream on pipeline update.
The code is still a bit redundant in set_current_bin_to_ready, need
to discuss.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 17:52:36 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Remove locking making sure that we manipulate children in right places
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 17:47:07 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Avoid a race in PAUSED_TO_READY
as we were using our children list in there without locking them.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 17:18:23 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: No need to reset the composition when going to PAUSED or NULL
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 17:10:35 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Make sure we have a peer when we send flushes downstream
And avoid leaks
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 17:06:05 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Minor cleanups
2014-07-14 16:51:56 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Take the objects lock when reseting the composition
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 16:47:45 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Remove the reset children method
as it is all already done in _empty_bin ()
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 16:44:43 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Set children caps only when they are added to the composition
No need to do it again on READY_TO_PAUSED
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 16:41:25 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: No need to children state locked anymore
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 16:30:35 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: cleanup dispose / finalize
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 16:24:46 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: remove children warning drop HACK.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 16:12:00 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: remove now useless notion of GnlCompositionEntry.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 15:50:58 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: cleanup GnlCompositionEntry before its actual removal.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 15:43:04 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: remove now useless prop "deactivated_elements_state".
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 15:40:28 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Remove now useless flag "reset_time".
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 15:37:51 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Remove now useless flag "stackvalid".
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 15:35:47 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: remove now useless "flushing" flag.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 13:36:31 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Do not use 'update' seek for now
This is not working in our new context and the seek do not work at
all when we set seek start to CLOCK_TIME_NONE and type to TYPE_NONE.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-14 13:35:24 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Add the stack start/stop that has been set in dotfile name
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-14 13:34:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Push flush events *downstream* not 'somewhere' :)
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-13 16:59:15 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlsource.c:
source: Atomically change the probe ID
Avoiding races where the probe would be removed 2 times
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-13 11:51:51 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Avoid deadlock when setting current bin to ready (on commit or seek)
We need to make sure that between the time we send flush_start/stop and
the time we actually set the bin to READY, no buffer got prerolled again
as it would lead to a deadlock trying to set the bin to READY (while
deactivating the pads, it needs the streaming lock, which would be
taken in that case)
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-12 20:54:55 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Only sync state of current bin when activating new stack.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 21:59:43 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/complex.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/gnloperation.c:
* tests/check/gnl/simple.c:
composition: Start kindergarten task when going to READY.
And stop it when going back to NULL.
Update tests.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 21:58:41 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/gnlcomposition.c:
composition: add a new failing test for finalize on commit.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 19:13:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Make sure to remove all updates when updating the stack
The EOS we received before that became meaningless and thus the
associated GSources should no be triggered
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 18:29:17 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Avoid emitting COMMITED like crazy
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 18:27:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Add an enum to define why we update the stack
Making the code simpler to follow
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 17:48:05 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: We are now waiting for caps to restart our task
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 17:31:34 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Remove useless functions to add GSources and add debugging
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 17:25:44 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Remove DONE fixme
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 17:23:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlghostpad.c:
ghostpad: Do not try to be smarter than possible with seqnum
We can have several CAPS event comming at any time and thuse we will
need to rely on elements to handle their seqnum properly as we can not
do a safe guard at our level
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 17:22:24 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Keep our GSources in a list making their thread safe
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 16:08:20 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
composition: Concider the last action as DONE when we get a CAPS or SEGMENT
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 15:41:50 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: only forward our flush start / stops
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 14:18:58 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlghostpad.c:
ghostpad: remove useless debug
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 14:17:36 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: cleanup and enhance debug
Bye Bye STRAM START you were a brave little debug we will miss you.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-11 14:11:21 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: do not flush downstream when updating pipeline ourselves.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-11 12:20:53 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Set update to TRUE when updating the stack because of EOS
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-10 18:01:32 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Handle seeking current stack while PAUSED
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-10 16:26:48 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Add and enhance some debug
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-10 16:21:31 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Dot the newly created stacks
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-10 16:17:20 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlghostpad.c:
gnlghostpad: Add some more debugging and fix mistakes in seqnum handling
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-10 15:48:50 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Factor out a function to seek the current stack
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-10 15:46:19 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Set the seqnum only when receiving the actual seek event
Setting it before calling seek_handling is racy!
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-10 15:45:19 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Set the real_eos_seqnum in a dedicated method
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-10 15:43:26 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Reset the real_eos_seqnum when reseting the composition
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-10 15:42:48 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Release OBJECTS_LOCK when emiting the "commited"
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-10 15:33:23 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Use the private struct directly
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-09 12:51:36 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlobject.c:
* gnl/gnlobject.h:
* gnl/gnloperation.c:
* gnl/gnloperation.h:
gnloperation: Totally clear operations when removing emptying current_bin
Removing linked childre leads to weird behaviour, we want to make sure
that all elements are totally clean when they are out the current bin.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-08 23:25:09 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlghostpad.c:
gnlghostpad: Do not forget to set output segment seqnum
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-08 23:00:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Fix the build
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-08 22:59:11 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/seek.c:
tests:composition: Fix some refcounts
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-08 22:58:02 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Relink nodes *after* setting the seqnum
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-08 22:57:22 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlghostpad.c:
gnlghostpad: Do not tolerate getting seeked when no target is set
This should not happen anymore
+ Do not set twice events seqnums
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-08 22:55:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlghostpad.c:
gnlghostpad: Add missing seqnum tweaking
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-08 22:54:31 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/gnloperation.c:
tests: Use compositor instead of videomixer
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-08 22:53:57 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Handle the case were we get an EOS right after a segment
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-08 13:28:57 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Make basic seeking working
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 23:28:43 +0200 Thibault Saunier <tsaunier@gnome.org>
* tests/check/gnl/gnloperation.c:
tests: Start fixing operation tests
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-07 23:24:46 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/simple.c:
tests: Fix composition tests
We can not expect a seek event anymore as we are seeking in READY the elements
themselves
+remove actual sinks
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 23:07:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Implement the logic to PAUSE the task while executing actions
We need to wait for the pipeline update to be actually finished before we can start another
action. That means that we pause the task until one buffer from the new stack is
outputed.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-07 23:08:56 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Do not forget to set expandables state to NULL when disposing
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 23:01:24 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Factor out a function to commit only the values
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-07 22:58:27 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Get the current position before actually commiting values on commit
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 22:54:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Add a method that set the current bin to READY
We need to get the stream lock in some conditions, and thuse send
flush event in those cases.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-07 22:50:34 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Remove useless code
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 22:33:09 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Clear the old stack when removing children that where used
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-07 22:27:21 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Remove useless toplevel_seek argiment from activate_new_stack
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 22:25:51 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
* gnl/gnlobject.c:
* gnl/gnlobject.h:
composition: Rework the seqnum logic to avoid races when setting the new stack seqnum
When we were seeking the same stack without a logic that gurantees that we actually
saw the seek with the new seqnum set, we could have ended up with an EOS set with
the right seqnum even if it was actually not the case.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-07 21:31:01 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Add/Remove children in the same order as they were called
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-07 21:28:28 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Remove useless flush_start argument from the stop_task method
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-06 15:46:22 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Force setting children state to NULL rebfore unrefing them
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-04 11:05:41 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
* gnl/gnlobject.c:
* gnl/gnlobject.h:
compositition: Check last stack in the children thread
Avoiding to take the OBJECT_LOCK when recieving EOS. The computation is
based on the GstEvent.seqnum to make sure that the EOS we receive
corresponds to the right sequence.
In that patch we tweak seqnums so that they are correctly computed
avoiding to depend on all elements to do it properly as it might pretty
much not be the case!
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-04 11:11:53 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Actiually set current_bin state even when not debugging
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-03 17:42:06 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Set *all* children state when going back to READY and then NULL
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-03 17:36:01 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
* tests/check/gnl/gnlcomposition.c:
composition: Fix toplevel seek event refcounting
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-03 16:46:21 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/complex.c:
composition: Teach the composition to seek same stack
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-03 16:44:05 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/simple.c:
composition: The ref the user gave us is our, and we give another to the bin when needed
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-03 16:41:42 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Rename commit_pipeline_func to commit_func
We do not commit any pipeline, we commit the new state of the composition internals
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-03 14:48:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Set the state of the internal bin before removing its children
Otherwize when we set the composition state to READY or NULL we can end
up with children in PAUSED state outside of everything
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-03 14:34:11 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/common.c:
* tests/check/gnl/simple.c:
tests: Minor cleanup
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-03 14:32:44 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlobject.c:
gnlobject: Allow commiting of object that are not inside a composition
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-03 14:32:18 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: Empty current_bin on gnl_composition_reset
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-03 14:31:35 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Remove now useless external_gst_bin_add_remove field
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-03 11:36:20 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
* gnl/gnlsource.c:
composition: Remove now useless pad probes
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
2014-07-02 21:01:31 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
* gnl/gnlghostpad.h:
* gnl/gnlobject.c:
* gnl/gnlsource.c:
* tests/check/gnl/complex.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/gnloperation.c:
* tests/check/gnl/seek.c:
* tests/check/gnl/simple.c:
composition: Add an internal bin where that contain used children
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-07-02 17:33:35 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/gnlcomposition.c:
composition: Add objects to the pending IO list in a GSource
This way we make sure we do not manipulate our children from another
thread than the dedicated one.
2014-07-01 18:08:32 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Start implementing seeking in a GSource
2014-06-30 16:21:30 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* gnl/gnlcomposition.h:
* tests/check/gnl/common.c:
* tests/check/gnl/common.h:
* tests/check/gnl/complex.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/gnloperation.c:
* tests/check/gnl/seek.c:
* tests/check/gnl/simple.c:
composition: switch to using an action signal to add and remove objects.
2014-06-30 16:29:50 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: chain up finalize before clering mcontext_lock.
2014-06-30 15:12:38 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Initialize the first stack async
2014-06-29 22:35:34 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/gnloperation.c:
Finish fixing tests
2014-06-28 14:44:24 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/common.c:
tests/common: disconnect commited handler
2014-06-27 16:12:12 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
* tests/check/gnl/common.c:
* tests/check/gnl/common.h:
* tests/check/gnl/complex.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/seek.c:
* tests/check/gnl/simple.c:
composition: Actually commit in on our own thread
Avoiding races
2014-06-27 17:03:44 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: start and stop task in init and finalize
2014-06-27 17:01:34 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/gnlcomposition.c:
tests: unref message correctly
2014-06-27 16:40:19 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
* gnl/gnlcomposition.h:
composition: home grown task
2014-06-27 16:12:28 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tests/check/gnl/gnlcomposition.c:
Don't be sync silly test
2014-06-27 15:00:48 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
composition: simplify update_pipeline_func
2014-06-27 16:26:09 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Reset the srcpad target when removing the toplevelentry
2014-06-27 12:15:10 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
* tests/check/gnl/simple.c:
composition: Use a GstPad task to run the update pipeline thread
2014-06-26 23:48:09 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
gnlcomposition: Factor out code to deactivate old stack and activate new one
2014-06-26 19:00:03 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
composition: Avoid looping using gotos
2014-06-26 18:41:48 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
gnlcomposition: Use the new _object_block_and_drop_data where appropriate
Renaming block_object_src_pad to _object_block_and_drop_data
2014-06-25 19:39:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
gnlcomposition: factor out some functions
2014-06-25 19:18:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
gnlcomposition: Factor out the condition of _parent_or_priority_changed
2014-06-25 19:17:55 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlcomposition.c:
gnlcomposition: Add a function to block object source pad
2014-06-24 13:44:13 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlcomposition.c:
* gnl/gnlghostpad.c:
* gnl/gnlghostpad.h:
* gnl/gnlobject.c:
* gnl/gnlobject.h:
* gnl/gnloperation.c:
* gnl/gnloperation.h:
* gnl/gnlsource.c:
* tests/check/gnl/complex.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/gnloperation.c:
* tests/check/gnl/gnlsource.c:
* tests/check/gnl/seek.c:
* tests/check/gnl/simple.c:
gnl: Add the srcpad directly to GnlObject
Starting from now we will not claim that we support GnlObject that have
several source pads as this is
1- Not true at all;
2- the design of priorities in the GnlComposition tree does not allow that;
3- Not very useful in most of the cases and it complexifies quite a lot the code
in the composition.
Conflicts:
configure.ac
tests/check/Makefile.am
2014-06-25 15:35:08 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/gnlobject.c:
Revert "gnlobject: Commit object in READY_TO_PAUSED"
This causes races when seeking, reverting for now even if we will
probably want to bring something like that back.
This reverts commit 3549e745a8f0de3977b83c60e9b447afaf55d8a0.
2014-06-24 12:52:24 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* gnl/gnlsource.c:
* gnl/gnlsource.h:
gnlsource: remove useless "controls_one" field.
2014-10-21 10:35:48 +0200 Thibault Saunier <tsaunier@gnome.org>
* gnl/Makefile.am:
* gnl/gnl.c:
* gnl/gnl.h:
* gnl/gnlcomposition.c:
* gnl/gnlcomposition.h:
* gnl/gnlghostpad.c:
* gnl/gnlghostpad.h:
* gnl/gnlmarshal.list:
* gnl/gnlobject.c:
* gnl/gnlobject.h:
* gnl/gnloperation.c:
* gnl/gnloperation.h:
* gnl/gnlsource.c:
* gnl/gnlsource.h:
* gnl/gnltypes.h:
* gnl/gnlurisource.c:
* gnl/gnlurisource.h:
* tests/check/gnl/common.c:
* tests/check/gnl/common.h:
* tests/check/gnl/complex.c:
* tests/check/gnl/gnlcomposition.c:
* tests/check/gnl/gnloperation.c:
* tests/check/gnl/gnlsource.c:
* tests/check/gnl/seek.c:
* tests/check/gnl/simple.c:
Import GNL from 978332e7c4c3bba1949421d28b492540ab471450 'Release 1.4.0'
2014-08-15 18:02:36 +0200 Thibault Saunier <tsaunier@gnome.org>
* tests/check/ges/timelineedition.c:
tests: timelineedition: Init GES once at the beginning.
Avoiding to forget to init in a particular test and failling stupidly
2014-08-15 18:00:24 +0200 Thibault Saunier <tsaunier@gnome.org>
* tests/check/ges/backgroundsource.c:
test: backgroundsource: Disable tests that rely on nlecomposition internals
We can't rely on that, in particular now that it does not actually
add its children all the time but only when it is needed (and that
it has an internal bin where actual things happen).
2014-08-13 13:15:02 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Add a method to retrieve a pad from a track
It allows user to easily get the proxied pad from a track.
API:
+ ges_timeline_get_pad_for_track
2014-07-28 15:26:18 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools:launcher: Avoid commiting when we are not done loading the timeline
2014-07-26 00:31:32 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
ges: Use the new GNL element message feature to notify async operations
2014-07-24 17:55:35 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-base-xml-formatter.c:
xml-formatter: message-forward is not something that should be parsed.
2014-07-25 14:47:07 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-timeline.c:
timeline: handle async start
2014-10-23 21:46:04 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* configure.ac:
* tests/Makefile.am:
* tests/validate/Makefile.am:
* tests/validate/geslaunch.py:
* tests/validate/scenarios/Makefile.am:
* tests/validate/scenarios/ges-edit-clip-while-paused.scenario:
tests: implement our validate TestManager.
And make sure it installs alongside the other validate apps.
https://bugzilla.gnome.org/show_bug.cgi?id=739093
2014-10-30 15:54:04 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-video-mixer.c:
smart-video-mixer: unref pads_info hash table in dispose
Before gst_bin_dispose() runs and destroys elements.
2014-10-30 15:20:18 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-adder.c:
smart-adder: fix crash in unit test
Unref pads_info hash table in dispose instead of
finalize, i.e. before gst_bin_dispose runs and
destroys pads_info->bin (to which the pads_info
does not hold a ref).
2014-10-27 18:01:56 +0100 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From 84d06cd to 7bb2bce
2014-10-26 20:36:22 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-track.c:
track: fix indentation
2014-10-26 20:35:30 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-timeline-element.c:
timeline-element: don't leak name string
2014-10-26 20:34:29 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-timeline.c:
timeline: fix mutex and all_elements hash table leaks
2014-10-26 20:33:50 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-timeline.c:
timeline: free tracks obtained via select-tracks-for-object signal
2014-10-26 20:32:41 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-timeline.c:
timeline: free track elements list
2014-10-26 20:31:40 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-video-test-source.c:
video-test-source: fix caps leak
2014-10-26 20:31:26 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/gstframepositionner.c:
framepositionner: fix caps leak
2014-10-26 20:31:08 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-audio-track.c:
audiotrack: fix caps leak
2014-10-26 20:30:53 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-video-track.c:
videotrack: fix caps leak
2014-10-26 20:30:29 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-track.c:
track: don't leak restriction caps
2014-10-26 20:29:06 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-adder.c:
smart-adder: don't leak pads_infos hash table
2014-10-26 20:28:09 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-smart-video-mixer.c:
smart-video-mixer: don't leak pads_infos hash table
2014-10-26 20:27:17 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-project.c:
project: fix string leak
2014-10-26 20:25:46 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-meta-container.c:
metacontainer: don't leak GValue contents
2014-10-26 20:24:09 +0000 Tim-Philipp Müller <tim@centricular.com>
* tests/check/ges/basic.c:
tests: don't leak clips list in basic unit test
2014-10-26 20:23:26 +0000 Tim-Philipp Müller <tim@centricular.com>
* Makefile.am:
Parallelise 'make check-valgrind'
2014-10-22 14:15:11 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
ges-validate: issues naming have changed.
Update the override.
2014-10-21 13:04:26 +0100 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From a8c8939 to 84d06cd
2014-10-21 13:01:04 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 36388a1 to a8c8939
2014-10-20 13:37:25 +0200 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
Back to development
=== release 1.4.0 ===
2014-10-20 11:56:36 +0200 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.4.0
2014-10-16 14:18:16 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
validate: Fix naming of add_action_type to register_action_type
That function was just renamed in Validate
2014-10-12 19:46:59 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
validate: Rename --list-action-types to --inspect-action-type
Making clearer the meaning of the parameter and closer to
the usual naming in the GStreamer land.
=== release 1.3.90 ===
2014-09-24 11:07:40 +0200 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 1.3.90
2014-09-13 16:16:15 +0100 Tim-Philipp Müller <tim@centricular.com>
* configure.ac:
configure: bump (soft) gst-validate requirement
Won't build against all older git versions with
0.0.1.0 as version number.
2014-07-20 11:47:18 +0200 Lubosz Sarnecki <lubosz@gmail.com>
* tools/ges-launch.c:
ges-launch: option to select encoding profile from xml
https://bugzilla.gnome.org/show_bug.cgi?id=735121
2014-07-20 11:47:56 +0200 Lubosz Sarnecki <lubosz@gmail.com>
* tools/ges-launch.c:
ges-launch: clean up help page
https://bugzilla.gnome.org/show_bug.cgi?id=735121
2014-09-05 23:14:10 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
validate: gst_validate_print_action_types now takes a const gchar **
2014-09-05 23:08:41 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
validate: Add the "ges" as implementer namespace for our action types
2014-09-05 22:09:44 +0300 Sebastian Dröge <sebastian@centricular.com>
* tools/ges-launch.c:
ges-launch: Fix typo in --help output
2014-09-05 22:08:49 +0300 Sebastian Dröge <sebastian@centricular.com>
* tools/ges-launch.c:
* tools/ges-validate.h:
ges-launch: Fix compiler warnings
ges_validate_print_action_types() takes a const gchar **.
2014-08-22 21:02:58 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Rename edit-clip to edit-container
So it represent better what the action does at the GES level
2014-08-22 21:01:07 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
ges-validate: Port to the new GstValidate action registration API
2014-07-24 19:03:50 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
tools:validate: Concider seek in PAUSED position being not exact as WARNING
In some corner cases in GNL it is totally correct that a position in a
seek in paused is not perfectly exact
2014-08-08 10:41:48 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Let GstValidate handle assert logs
2014-07-27 15:42:42 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
ges:validate: Port to the new handles-states API
2014-08-01 10:44:57 +0200 Edward Hervey <edward@collabora.com>
* Makefile.am:
* common:
Makefile: Add usage of build-checks step
Allows building checks without running them
2014-07-24 13:23:36 +0300 Lazar Claudiu <lazar.claudiu.florin@gmail.com>
* ges/ges-text-overlay.c:
text-overlay: added text properties as child-properties
2014-06-16 11:38:29 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-internal.h:
* ges/ges-smart-video-mixer.c:
* ges/ges-utils.c:
* ges/ges-video-transition.c:
ges: Use registry to select the compositor element
2014-07-18 18:27:20 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-xml-formatter.c:
xml-formatter: Set errno to 0 before g_ascii_strtoll.
2014-06-12 09:51:02 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
* ges/ges-smart-video-mixer.c:
smart-video-mixer: fix memory leak on error path
Coverity 1212166
2014-03-20 17:04:31 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track-element.c:
trackelement: Sort paramspec by name in list_children_properties
https://bugzilla.gnome.org/show_bug.cgi?id=720023
2014-06-06 12:08:47 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Fix transition handling in ges-launch
https://bugzilla.gnome.org/show_bug.cgi?id=730806
2014-06-05 04:20:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
* tests/check/ges/test-utils.h:
clip: Fix the ges_clip_set_position function
And enhance the new test
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-05 04:05:06 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-clip.h:
clip: Rename top_effect_index to top_effect_index
Keeping the old method to not break the API but removing it from the
documentation as users should use the new method (which is the exact
same with a better naming)
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-05 03:48:12 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
* ges/ges-timeline.c:
* tests/check/ges/clip.c:
tests: Check ges_clip_set_position behaviour
+ Minor fix to handle properly the feature when clip is not in any layer
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-04 23:16:42 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
* tests/check/ges/clip.c:
clip: Add test for effects priorities
https://bugzilla.gnome.org/show_bug.cgi?id=731248
2014-06-05 02:16:01 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
* tools/ges-launch.c:
pipeline: Add support to rendering without container
+ Simplify the support in ges-launch as we should not require the
profile desc to start with : in that case
https://bugzilla.gnome.org/show_bug.cgi?id=731245
2014-05-24 19:16:12 +0200 Christoph Reiter <reiter.christoph@gmail.com>
* ges/ges-enums.c:
Fix invalid GEnumValue.value_name entries.
This makes the enum entries in the gir have valid c:identifiers and documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=730691
2014-06-03 17:53:23 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-track.c:
ges-track: fill the gaps left empty by deactivated track elements.
2014-05-21 10:54:19 +0200 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From 211fa5f to 1f5d3c3
2014-05-19 12:21:52 +0200 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-clip.h:
* tests/check/ges/clip.c:
ges:clip: Add a method to look for a list of TrackElement-s
+ Add unit tests to check it works properly.
API:
+ ges_clip_find_track_elements
2014-05-18 18:34:26 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
tools: Handle request state changes from GstValidate
2014-05-15 20:44:35 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
* tests/check/ges/basic.c:
ges: Do not forget to update the count when updating already used name
That could still lead to naming conflicts
2014-05-15 19:37:05 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-video-source.c:
ges: Add a queue after the decoder in video test src
2014-05-14 22:06:55 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* tests/check/ges/basic.c:
ges: Avoid GESTimelineElement naming conflicts
When users (can be formatters) set timeline element names in the
default 'namespace' we need to update our counter to avoid setting
twice the same name on TimelineElements so afterward there is no
problem adding them in the GESTimeline
+ add a testcase to check that new code and fix leaks on the
existing testcases.
+ Sensibly enhance debugs
2014-05-13 14:30:39 +0200 Edward Hervey <edward@collabora.com>
* ges/ges-xml-formatter.c:
xml-formatter: Don't leak children_props
By going through the cleanup code-path
CID #1212146
2014-05-10 22:52:18 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-base-xml-formatter.c:
* tools/ges-launch.c:
ges: Do not use freed pointers
COVERTY CID 1212182
COVERTY CID 1212184
COVERTY CID 1212185
2014-05-10 22:48:12 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-smart-adder.c:
ges: Plug a leak in ges-smart-adder
COVERTY CID 1212166
2014-05-10 22:45:34 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-xml-formatter.c:
ges-xml-formatter: fix memory leak
COVERTY CID 1212148
2014-05-10 22:41:23 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-xml-formatter.c:
ges-xml-formatter: fix memory leak in error path
COVERITY CID 1212147
2014-05-10 22:38:21 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-asset.c:
ges: Assert if an asset is not in the global hashtable
COVERITY CID 1151679
2014-05-10 22:33:15 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
ges: Remove useless pointer assignement
COVERITY CID: 1139442
2014-05-10 22:30:00 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-meta-container.c:
ges: Remove useless pointer assignement
COVERITY CID: 1139941
2014-05-10 22:28:01 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-meta-container.c:
ges: Add license header in ges-meta-container
2014-05-10 22:09:31 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-timeline.c:
ges: remove comparison of unsigned inferior to 0
COVERITY CID 1139769
2014-05-09 13:00:32 +0100 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-xml-formatter.c:
ges-xml-formatter: fix memory leak in error path
CID 1212146
2014-05-08 17:21:33 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tool: Add the option to set audiosink
And use gst_parse_bin_from_description to create the sinks letting more
control to users.
2014-05-08 17:11:54 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
scenarios: update the prototype of ges_validate_activate
if validate is not present.
2014-05-08 14:12:11 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launch.c:
ges-launch: add an option to use a custom video sink
2014-05-08 01:38:26 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
validate: make sure we release our ref when we get_timeline.
Conflicts:
tools/ges-validate.c
2014-05-08 01:15:42 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
scenarios: Check priority before creating a layer.
2014-05-06 15:32:18 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launch.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
ges-launch: Make it so actions are executed directly when needed.
2014-05-02 17:11:24 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
validate: implement remove / add clip actions
And a helper to get a layer by priority
2014-05-02 16:48:46 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-timeline-element.c:
timeline-element: return TRUE in _set_name when both names match.
2014-05-02 14:17:07 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launch.c:
ges-launch: Only create a layer if needed.
That way scenarios can start with an empty timeline
2014-05-02 13:37:04 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
validate: Add add-layer and remove-layer
2014-05-08 01:13:02 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
scenarios: add a remove-asset action
2014-05-01 17:02:05 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-validate.c:
ges-validate: add an add-asset action
Conflicts:
tools/ges-validate.c
2014-05-01 17:00:25 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* tools/ges-launch.c:
ges-launch: When a scenario is set, don't request triplets
2014-05-01 16:59:15 +0200 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
* ges/ges-timeline.h:
ges-timeline: Fix ges_timeline_get_project macro.
This macro was a little confused about its own meaning.
2014-05-05 11:58:45 +0100 Tim-Philipp Müller <tim@centricular.com>
* tools/ges-launch.c:
ges-launch: remove dead code
duration can't be smaller than 0 because it's unsigned,
and it can't be 0 because 0 is transformed to CLOCK_TIME_NONE
earlier.
Coverity CID 1211822.
2014-05-03 10:18:12 +0200 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From bcb1518 to 211fa5f
2014-05-01 10:13:39 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Add a way to look for moved media sample recursively
In ges-launch let the user set a folder where the media sample that
move can be found recursing into that specified folder.
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-30 20:58:42 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-track.c:
* tools/ges-launch.c:
tools: Add an option to disable mixing
+ Add a a GObject property so that the info is seralized
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-30 16:26:03 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-project.c:
project: Enhance debugging when updating URI with an invalid one
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:49:10 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
tools: Always activate gst-validate to have position printing
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-29 21:29:54 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Handle times as doubles + concider duration=0 as TIME_NONE
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-26 09:51:37 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
tools: Disable --set-scenario if not compiled against gst-validate
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-26 08:55:31 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-clip.c:
ges: Rename remaning tlobj to clip
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:43:42 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
ges-validate: Add an action to serialize the project
https://bugzilla.gnome.org/show_bug.cgi?id=729382
Conflicts:
tools/ges-validate.c
2014-04-25 18:23:06 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-validate.c:
tools:validate: Always seek after editing a clip
Otherwize the displayed frame will not be updated when paused.
+ Add a get_timeline internal helper method in ges-validate.c
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-03-14 12:10:53 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-validate.c:
ges-validate: Add a GstValidate action to set children properties
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-02-18 18:52:38 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
* tests/Makefile.am:
* tests/scenarios/Makefile.am:
* tests/scenarios/ges-edit-clip-while-paused.scenario:
scenario: Add a scenario that edits a clip while the pipeline is paused
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-02-18 17:25:05 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-validate.c:
tools:validate: Add an action to allow editing clips
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-02-18 15:14:40 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-xml-formatter.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/uriclip.c:
Add a notion of 'name' in GESTimelineElement
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-23 11:28:20 +0200 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
* tools/ges-validate.c:
tools: Position printing is now done at the gst-validate level
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-04-17 13:04:26 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-uri-asset.c:
uri-asset: Check return value of gst_tag_list_copy_value
CID 1139597
2014-04-10 18:03:55 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/gstframepositionner.c:
framepositioner: Set the proper default value
Most likely a copy/paste error.
CID #1139646
2014-04-10 18:01:03 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-xml-formatter.c:
xml-formatter: Use proper value for string extraction
The pass would be filled with some bogus (pointer) numerical value
CID #1139652
2014-04-10 17:52:20 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-base-xml-formatter.c:
base-xml-formatter: Don't attempt to use NULL entry
Instead return straight away
CID #1139739
2014-04-07 21:02:48 +0200 Christoph Reiter <reiter.christoph@gmail.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-audio-source.c:
* ges/ges-audio-test-source.c:
* ges/ges-audio-track.c:
* ges/ges-audio-transition.c:
* ges/ges-audio-uri-source.c:
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect.c:
* ges/ges-base-transition-clip.c:
* ges/ges-clip-asset.c:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-effect-asset.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-extractable.c:
* ges/ges-formatter.c:
* ges/ges-group.c:
* ges/ges-image-source.c:
* ges/ges-layer.c:
* ges/ges-meta-container.c:
* ges/ges-multi-file-source.c:
* ges/ges-operation-clip.c:
* ges/ges-operation.c:
* ges/ges-overlay-clip.c:
* ges/ges-pipeline.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-project.c:
* ges/ges-source-clip.c:
* ges/ges-source.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element-asset.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-transition.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-clip.c:
* ges/ges-video-source.c:
* ges/ges-video-test-source.c:
* ges/ges-video-track.c:
* ges/ges-video-transition.c:
* ges/ges-video-uri-source.c:
Include class related section documentation in the gir file.
g-ir-scanner includes section docs as class/interface docs if the section name is equal to the lowercase type name.
Since all the documentation is in section blocks, rename them to match the type names.
https://bugzilla.gnome.org/show_bug.cgi?id=727776
2014-04-06 16:39:33 +0200 Thibault Saunier <tsaunier@gnome.org>
* ges/Makefile.am:
build: Add reference to GstVideo in gir file
2014-03-26 23:48:45 +0100 Lubosz Sarnecki <lubosz@gmail.com>
* ges/ges-types.h:
multifilesrc: remove unused class declaration
2014-03-26 23:47:03 +0100 Lubosz Sarnecki <lubosz@gmail.com>
* ges/Makefile.am:
build: install ges-version.h
2014-03-26 11:45:07 +0100 Thibault Saunier <tsaunier@gnome.org>
* tools/ges-launch.c:
ges-launch: Not being able to load an asset is an error
2014-03-21 10:22:52 +0100 Thibault Saunier <tsaunier@gnome.org>
* ges/ges-pipeline.c:
pipeline: Do not set EncodingProfile.presence when we have no track for the type
That leads to freeze as encodebin will be waiting for a pad and EOS
forever
2014-01-09 16:31:01 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Format the position printing as in gst-validate and friends
2013-09-13 18:15:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
* tools/Makefile.am:
* tools/ges-launch.c:
* tools/ges-validate.c:
* tools/ges-validate.h:
ges-launch: Play nicely with gst-validate if avalaible
2013-09-20 01:31:10 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Add a way to mute test video and audio output
2013-10-12 10:07:28 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Properly handle project loading
So we start the pipeline only when the project is done loading, and we save it when it is
loaded, taking into account possible media URI updates.
2013-11-12 12:13:31 +0100 Lubosz Sarnecki <lubosz@gmail.com>
ges: multifilesrc support
* GESMultiFileSource class
* multifilesrc example
* Support multifile:// urls in uri asset
* start/stop index modification
* Doc
https://bugzilla.gnome.org/show_bug.cgi?id=719373
2014-03-16 12:48:22 +0100 Thibault Saunier <tsaunier@gnome.org>
* configure.ac:
Back to development
=== release 1.2.0 ===
2014-03-16 12:46:26 +0100 Thibault Saunier <tsaunier@gnome.org>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* ges/ges.c:
* gst-editing-services.doap:
Release 1.2.0
2014-03-15 10:34:17 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
* ges/ges-version.h.in:
* ges/ges.h:
Properly generate versioning #define-s during autogen
2014-03-14 20:04:33 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
* ges/ges-timeline-element.c:
* tests/check/ges/group.c:
container: Properly handle the case where we could not set parent
In this case we had a FIXME about reverting everything that was done,
implement that FIXME!
2014-03-14 19:59:27 +0100 Andreas Schwab <schwab@linux-m68k.org>
* ges/ges-smart-adder.c:
ges: remove extra semicolon
https://bugzilla.gnome.org/show_bug.cgi?id=726365
2014-03-14 18:48:44 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pipeline.c:
pipeline: Always set the encoding profile presence to 1
We currenty do not support multiple tracks with same type in GESPipeline
and we actually need to set the presence field to avoid a scenario where
we have only video in a video track, and no audio in the audio track. So
audiotestsrc is used and we end up encoding the whole audio stream but
no decoded video frame as reached the decodebin src pad, so the pad
has not been created and thus it will not be linked to the encodebin.
On the audio part, the EOS will be emitted so fast that the resulting stream will
not have any video in it as the muxer will not even have a video pad created.
Setting the presence will ensure that the muxer does have a video pad
(because of how encodebin behaves) and thus will create a pad for it
and wait for its EOS.
2014-03-10 11:18:21 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
title-source: Rename ges_title_clip_set_backrgound_colour as appropriate
The method was badly called _clip_ instead of _source_ we have not release the API
so we still can change it.
2014-03-08 11:26:13 +0000 Dan Williams <dcbw@redhat.com>
* ges/ges-project.c:
ges: fix finalize/dispose mixup
https://bugzilla.gnome.org/show_bug.cgi?id=725918
2014-03-07 14:48:06 -0600 Dan Williams <dcbw@redhat.com>
* ges/ges-clip-asset.c:
* ges/ges-container.c:
* ges/ges-formatter.c:
* ges/ges-project.c:
* ges/gstframepositionner.c:
ges: Ensure GObject finalize and dispose methods chain up to parents
https://bugzilla.gnome.org/show_bug.cgi?id=725918
2014-03-07 09:28:16 -0600 Dan Williams <dcbw@redhat.com>
* ges/ges-base-xml-formatter.c:
Fix use-after-free in _free_pending_clip()
https://bugzilla.gnome.org/show_bug.cgi?id=725855
2014-02-28 09:37:01 +0100 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From fe1672e to bcb1518
2014-02-26 04:36:11 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* docs/design/encoding-research.txt:
* docs/design/metadata.txt:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
Update the documentation to use Pitivi instead of PiTiVi
2014-02-26 04:17:36 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-base-effect.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-transition-clip.c:
Remove "#" from short-description
It breaks the display in the index.html page.
2014-02-18 22:14:00 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* ges/ges-asset.c:
* ges/ges-extractable.c:
Minor documentation fixes: GESExtractable, GESAsset
2014-02-26 22:16:13 +0100 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 1a07da9 to fe1672e
2014-02-18 12:40:06 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
docs: Fix documentation about copying timeline elements
2014-02-17 13:33:51 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Make sure not to add 2 times a TrackElement in the same track
Without that, if a UriClip contains several tracks of a same type (ie.
video or audio...), we would add all the TrackElements to each track
making everything failling as we end up with several GNL sources at
the same position with the same priority.
2014-02-17 12:34:04 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-pipeline.c:
* tests/check/ges/integration.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename TIMELINE_MODE_XXX to GES_PIPELINE_MODE_XXX so it corresponds to reality
First, it was not in any namespace, second the name of the enum is
GESPipelineFlags.
2014-02-14 13:20:31 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
ges: Give a reference to the formatter for the idle callback
This avoid segfault as we are not guaranteed that the formatter will
not be destroyed in the meantime.
+ Minor cleanup of handling of private members
https://bugzilla.gnome.org/show_bug.cgi?id=724337
2014-02-09 23:50:25 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-meta-container.c:
* ges/ges-pitivi-formatter.c:
ges: Remove unused functions
2014-02-08 20:19:53 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-group.c:
ges-group: Properly check for integer underflows
error: comparison of unsigned expression < 0 is always false
2014-02-08 20:18:11 +0100 Sebastian Dröge <sebastian@centricular.com>
* ges/ges-extractable.c:
ges-extractable: Return NULL instead of G_TYPE_INVALID
The return type of this function is gchar *, not GType
2014-02-05 00:10:52 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-enums.h:
ges: Some documentation cleanup
2014-02-04 13:58:48 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests:integration: Fix a race about get_position being called before AYNC_DONE happens
2014-02-04 10:45:58 +0100 Alexandru Băluț <alexandru.balut@gmail.com>
* bindings/python/examples/simple.py:
* docs/libs/ges-sections.txt:
* ges/ges-pipeline.c:
* ges/ges-pipeline.h:
* tests/check/ges/integration.c:
* tests/check/ges/project.c:
* tests/check/ges/test-utils.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
ges-pipeline: Rename add_timeline to set_timeline
API BREAKAGE:
- ges_pipeline_add_timeline
+ ges_pipeline_set_timeline
2014-01-16 15:25:06 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* ges/ges-uri-asset.c:
uri-asset: Let a chance for user to change URI if the set one is not readable
It sounds like the most logical thing to do in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=721111
2014-01-15 19:12:08 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-video-source.c:
* ges/ges-video-uri-source.c:
videosource: Always add a deinterlace at the beining of videosrcbin
It might be needed in some cases (for example when decoding prores files) and
it is the way it is done with playbin now. Also deinterlace now properly supports
passtrough mode.
2014-01-27 15:30:40 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
* tests/check/ges/project.c:
* tests/check/ges/uriclip.c:
ges-asset: Do not forget to give a ref to the registry
+ Add test in the testsuite
+ Fix broken tests
https://bugzilla.gnome.org/show_bug.cgi?id=721111
2014-01-30 10:46:09 +0100 Edward Hervey <bilboed@bilboed.com>
* common:
Automatic update of common submodule
From d48bed3 to 1a07da9
2014-01-09 18:13:00 +0100 Mathieu Duponchelle <mduponchelle1@gmail.com>
* ges/ges-track-element.c:
track-element: clamp interpolated keyframe values.
2014-01-10 00:05:01 +0000 Tim-Philipp Müller <tim@centricular.com>
* .gitignore:
.gitignore: add test driver and more test binaries
2013-12-27 10:08:47 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
base-xml-formatter: Emit 'loaded' right after a project with empy timeline is loaded
https://bugzilla.gnome.org/show_bug.cgi?id=720040
2013-12-24 15:34:51 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-audio-test-source.h:
* ges/ges-audio-uri-source.h:
* ges/ges-image-source.h:
* ges/ges-internal.h:
* ges/ges-title-source.h:
* ges/ges-video-test-source.h:
* ges/ges-video-uri-source.h:
track-element: Remove constructors for TrackElement from the API
Most of the time the user should not create GESTrackElements
himself, instead he should add a GESAsset to a layer, that will
result in a clip creation and the proper TrackElements to be
created and added to the tracks.
The case of effects and overlays is a bit different as the user should
create the TrackElement and add them to a clip.
2013-12-24 15:08:24 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-track.c:
ges: Remove versionning infos now that we start on the 1.X API serie
They are now meaningless, all the current symbols are the basic
ones for the 1.X serie.
2013-12-24 14:34:09 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.h:
* ges/ges-effect-asset.h:
* ges/ges-smart-adder.h:
* ges/ges-smart-video-mixer.h:
* ges/ges-xml-formatter.h:
* ges/gstframepositionner.h:
ges: Add padding for API extension where missing
2013-12-22 22:36:16 +0000 Tim-Philipp Müller <tim@centricular.com>
* autogen.sh:
* common:
Automatic update of common submodule
From dbedaa0 to d48bed3
2013-11-28 15:13:06 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* ges/ges-timeline.c:
ges: Reimplement 'always create a project to back a timeline'
Keeping it simple, and making sure everything is synchronous
2013-11-28 15:08:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* ges/ges-timeline.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/mixers.c:
* tests/check/ges/overlays.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
Revert "ges: Always create a project to back a timeline"
This reverts commit 59d83f1a93055391097e7c1fe34f5a39eb8ec625.
Conflicts:
tests/check/ges/backgroundsource.c
tests/check/ges/effects.c
tests/check/ges/overlays.c
tests/check/ges/simplelayer.c
tests/check/ges/text_properties.c
tests/check/ges/titles.c
2013-11-25 15:17:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* ges/ges-timeline.c:
timeline: Add all assets of the clip added to the timeline to the project
2013-11-22 17:49:49 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-base-effect-clip.c:
* ges/ges-effect-clip.c:
* ges/ges-simple-layer.c:
* ges/ges-simple-layer.h:
* ges/ges-transition-clip.c:
* ges/ges.h:
* tests/check/Makefile.am:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/effects.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/titles.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/simple1.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/thumbnails.c:
* tools/ges-launch.c:
Remove GESSimplerLayer, that API should land into GESLayer in the end
The priority handling of clip is now handled by GESLayer itself, and
handling clip as a ordered list should be implemented in GESLayer itself
too, this way the user can decide to switch mode at any time instead of
2013-11-22 17:36:12 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-layer.c:
layer: Set clip start to the duration of the layer if == TIME_NONE
In the provided start of a clip is GST_CLOCK_TIME_NONE in
ges_layer_add_asset, it means that we want the clip to be
added at the end of the layer
2013-11-22 17:33:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-layer.c:
* ges/ges-layer.h:
layer: Add an API to get the total duration of the layer
API:
ges_layer_get_duration
2013-11-22 17:23:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
Remove the android/ toplevel directory
To build gstreamer for android we are now using androgenizer which
generates the needed Android.mk files. Androgenizer can be found here:
* http://cgit.collabora.com/git/android/androgenizer.git/
2013-11-13 13:18:00 +0100 Lubosz Sarnecki <lubosz@gmail.com>
* ges/Makefile.am:
* ges/ges-gerror.h:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-uri-asset.c:
* ges/ges-utils.c:
* ges/ges-utils.h:
gir: fix warnings
2013-11-18 13:41:07 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-video-uri-source.c:
video-uri-source: Handle interlaced videos
https://bugzilla.gnome.org/show_bug.cgi?id=710168
2013-11-14 16:17:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Let user set the track types to use
2013-11-09 09:55:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/examples/material.py:
python: Remove old material.py example
2013-11-09 09:51:55 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Dot the pipeline on state changes and warnings
2013-11-09 09:49:03 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/gstframepositionner.c:
framepositionner: Fix the range of properties dealing with number of pixels
This way it is possible to interpolate those values.
2013-11-09 09:47:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* ges/ges-timeline.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/group.c:
* tests/check/ges/layer.c:
* tests/check/ges/mixers.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
ges: Always create a project to back a timeline
And fix all the tests as we need to wait for the project to be loaded
to check the reference count of the timeline (as we keep a ref on the
timeline in project to later emit "loaded" on idle).
2013-11-09 09:46:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/examples/simple.py:
bindings: Cleanup and fix simple python example
2013-11-05 11:23:08 +0000 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From 865aa20 to dbedaa0
2013-10-17 15:16:00 +0200 Kishore Arepalli <kishore.arepalli@gmail.com>
* ges/ges-audio-source.c:
* ges/ges-image-source.c:
* ges/ges-pipeline.c:
* ges/ges-smart-adder.c:
* ges/ges-smart-video-mixer.c:
* ges/ges-source.c:
* ges/ges-title-source.c:
* ges/ges-track.c:
* ges/ges-video-track.c:
ges: Fix several memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=710390
2013-10-30 00:27:36 +0100 Mathieu Duponchelle <mduponchelle1@gmail.com>
* ges/ges-clip.c:
track-element: add start to the position to which we wish we split the bindings.
The bindings split is relative to the beginning of the clip.
2013-10-29 07:59:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Fix the find_track_element method
What we want is to be able to find a TrackElement by its type, and
possibly specify a Track where to look into.
2013-10-15 10:57:31 +0200 Kishore Arepalli <kishore.arepalli@gmail.com>
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-uri-asset.h:
ges-formatter: don't use 'class' as function argument name in headers
It's a keyword in C++ and C++ compilers won't like it.
https://bugzilla.gnome.org/show_bug.cgi?id=710172
2013-10-11 17:00:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
* ges/ges-uri-asset.c:
uri-asset: Check if file exists before trying it as a proxy
This avoids:
1- discovering file that we know do not exist
2- proposing the current proxy path (that failed) as a possible proxy
which lead to errors
2013-10-11 17:05:03 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Remember URIS that we tried to discover
So we do not fail several time trying to discover the same URI
Conflicts:
tools/ges-launch.c
2013-10-08 13:45:55 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Try to use best formatter first
2013-10-09 20:07:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-audio-source.c:
audiosource: Add audioconvert and audioresample before the volume element
https://bugzilla.gnome.org/show_bug.cgi?id=709777
2013-10-01 20:07:10 +0200 Mathieu Duponchelle <mduponchelle1@gmail.com>
* ges/ges-timeline.c:
timeline: pass the correct argument to disconnect_by_func.
fixes #709205
2013-09-28 21:07:10 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
Back to development
=== release 1.1.90 ===
2013-09-28 20:49:13 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ChangeLog:
* configure.ac:
Release 1.1.90
2013-09-28 18:09:49 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
clip: Return the newly created TrackElement when adding an asset
This is a minor API change
2013-09-28 15:42:20 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Add a signal to know when it is commited
2013-09-27 02:56:44 +0200 MathieuDuponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-clip.c:
clip: split_bindings at position * + inpoint*
2013-09-25 23:52:46 +0200 MathieuDuponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-video-track.c:
video-track: update gaps framerate along with restriction caps.
2013-09-25 19:48:45 +0200 MathieuDuponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
xml-formatter: add support for restriction caps.
2013-09-05 01:03:51 +0200 Simon Corsin <mathieu.duponchelle@epitech.eu>
* ges/ges-video-source.c:
* ges/gstframepositionner.c:
* ges/gstframepositionner.h:
video-source: Add a videorate in video-source.
And control it in framepositionner.
Conflicts:
ges/ges-video-source.c
2013-09-24 18:35:56 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 6b03ba7 to 865aa20
2013-09-22 21:56:14 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/clip.c:
* tests/check/ges/layer.c:
tests: Make sure not to test freed objects type
2013-09-16 13:30:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pipeline.c:
pipeline: Let some queuing in encodebin
It is sometimes necessary
2013-09-16 11:19:13 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
* tests/examples/ges-ui.c:
examples: Make project loading more generic
Pitivi formatter is deprecated, do not use it by default
2013-09-16 11:16:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges.c:
* ges/ges.h:
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
Revert "ges: Disable the Pitivi formatter"
This reverts commit e54ceff7204e712daa9949ef41b73d96035a0446.
Let's just keep it... it does not cost anything.
2013-09-20 16:19:06 +0200 Edward Hervey <edward@collabora.com>
* common:
Automatic update of common submodule
From b613661 to 6b03ba7
2013-09-19 18:46:26 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 74a6857 to b613661
2013-09-19 17:39:44 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 12af105 to 74a6857
2013-09-14 04:19:57 +0200 Joris Valette <joris.valette@gmail.com>
* tests/check/ges/timelineedition.c:
tests: timelineedition: cast start and duration values as guint64
2013-09-13 20:38:43 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Handle path for project uri
2013-09-13 20:37:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-xml-formatter.c:
formatter: Keep timeline duration as a meta
2013-09-12 18:34:55 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* tools/ges-launch.c:
ges-launch: Make it possible to provid pathes to look for moved asset
For example if a project was sent from someone else thus the pates in
there are meaningless on the other computer, we need to be able
to specify a list of pathes where the files are.
+ Fix documentation
2013-09-12 09:05:51 +0200 Kishore Arepalli <kishore.arepalli@gmail.com>
* ges/ges-pipeline.c:
ges-pipeline: Don't unref buffer obtained from a GstSample
https://bugzilla.gnome.org/show_bug.cgi?id=707914
2013-09-10 18:17:57 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/integration.c:
tests: integration: set restriction_caps on the video encoding profile
We need this cause now videomixer renegotiates downstream.
2013-09-09 12:47:32 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pipeline.c:
* ges/ges.c:
pipeline: Create it through a factory
Making it possible to use it with GstValidate LD_PRELOAD feature
2013-09-09 12:47:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-pipeline.c:
* ges/ges-pipeline.h:
* tests/examples/thumbnails.c:
pipeline: Finnish renaming from GESTimelinePipeline
2013-09-08 19:27:04 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/timelineedition.c:
tests: timelineedition: Minor cleanups
2013-09-08 19:19:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Make sure we do not move object when only trimming
We were missing a few checks so that we do not move objects when their
duration is equal to the max duration, or 0
2013-09-07 12:59:17 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Avoid setting duration > max_duration when rippling
We should use the trimming method to set duration to make sure to avoid
going over the max duration.
Also avoid computing when setting duration to the same old value.
2013-09-07 02:11:23 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-group.c:
* ges/ges-timeline.c:
* tests/check/ges/timelineedition.c:
ges: Handle trimming in groups
This was broken, clips where moving all around, make it behave properly.
2013-09-07 02:10:12 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Make ripple start be trimming
This is a more natural behaviour as a user instead of doing nothing at
all.
2013-09-03 20:50:54 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-audio-source.c:
* ges/ges-video-source.c:
ges: Make GESAudioSource and GESVideoSource abstract
2013-08-22 23:06:38 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/gstframepositionner.c:
gstframepositionner: correctly tag metadata.
We do not use GST_VIDEO_META_TAG_STR as it would mean depending on
GstVideo which is not the case right now
2013-09-01 12:19:32 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-video-source.c:
videosource: Make sure to update z-order when layer priority changes
Conflicts:
ges/ges-video-source.c
2013-09-01 12:18:53 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timeline-element: Add a set_parent vmethod
API:
GESTimelineElment->set_parent vmethod
2013-08-29 11:35:30 +0200 Simon Corsin <simoncorsin@gmail.com>
* tests/check/ges/timelineedition.c:
tests: timelineedition: Add a test_scaling.
It will check that the clip updates its size correctly.
2013-08-25 17:08:00 +0200 Simon Corsin <simoncorsin@gmail.com>
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
test-utils: Adds a utility function to quickly check the timeline.
2013-08-15 20:12:30 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-video-transition.c:
videotransition: No need to hard set width and height anymore.
2013-08-21 11:32:45 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-video-source.c:
* ges/gstframepositionner.c:
* ges/gstframepositionner.h:
gstframepositionner: Install width and height properties.
+ And manage them properly.
2013-08-17 14:57:15 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-audio-track.c:
* ges/ges-internal.h:
* ges/ges-track.c:
* ges/ges-track.h:
ges-track: Add the notion of resriction caps to GESTrack
This way we can let the user determine what he want to come out of the
track.
API:
- ges_track_set_caps (The track caps are now construct only)
+ ges_track_set_restriction_caps
+ ges_track_get_restriction_caps
+ GESTrack.props.restriction_caps
2013-07-09 15:31:15 +0200 Simon Corsin <simoncorsin@gmail.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-audio-source.c:
* ges/ges-audio-source.h:
* ges/ges-audio-test-source.c:
* ges/ges-audio-test-source.h:
* ges/ges-audio-uri-source.c:
* ges/ges-audio-uri-source.h:
* ges/ges-image-source.c:
* ges/ges-image-source.h:
* ges/ges-source.c:
* ges/ges-source.h:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-clip.c:
* ges/ges-video-source.c:
* ges/ges-video-source.h:
* ges/ges-video-test-source.c:
* ges/ges-video-test-source.h:
* ges/ges-video-uri-source.c:
* ges/ges-video-uri-source.h:
* ges/ges.h:
* tests/check/ges/uriclip.c:
GES: Add GESVideoSource and GESAudioSource base classes
+ Update documentation.
+ Implements subclasses audio-uri-source and video-uri-source
2013-07-03 18:27:00 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-audio-test-source.c:
* ges/ges-video-test-source.c:
testsource: Handle child properties as child properties
Makes $make check pass.
Standardizes property handling.
2013-07-02 11:12:00 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-internal.h:
* ges/ges-source.c:
source: Make a ges_source_create_topbin internal helper method
2013-06-27 14:20:00 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-audio-test-source.c:
* ges/ges-image-source.c:
* ges/ges-source.c:
* ges/ges-source.h:
* ges/ges-title-source.c:
* ges/ges-uri-source.c:
* ges/ges-uri-source.h:
* ges/ges-video-test-source.c:
ges-source: Move common elements handling to the base class
+ And port all the subclasses
2013-09-02 13:57:15 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: Do not forget to initialize the timeline before using it
2013-09-02 00:19:30 +0100 Tim-Philipp Müller <tim@centricular.net>
* ges/ges-xml-formatter.c:
ges-xml-formatter: use g_ascii_dtostr() instead of messing with setlocale()
Libraries shouldn't use setlocale().
2013-09-01 00:46:45 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-xml-formatter.c:
xml-formatter: set LC_NUMERIC locale before saving values.
Avoiding to save ',' instead of '.' for floats in certain locals
2013-08-29 23:45:56 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-video-transition.c:
video-transition: Keep switch transition type simple
Also make sure there is a proper default value for transition type.
2013-08-30 20:32:56 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
launch: Simplify encoding profile description
Use a 'simple' synthax to describe encoding profiles
2013-08-30 20:03:16 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
launch: Make it easier to render project
Now providing an output uri is enough to tell that you want to render.
It will use project rendering infos when possible, missing a way to
specify which info if various are disponnible (we use the first one
right now).
+ Make options more logical now, -l mean --load, and -r means repeat
2013-08-30 18:45:31 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: No autotrans between elements in same toplevel container
This makes no sense, we ended up creating/removing tons of transition
while moving groups
2013-08-29 11:10:33 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges.c:
* ges/ges.h:
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
ges: Disable the Pitivi formatter
It lacks to many feature and the code is too bad, desactivation until
someone comes and fix it... The code should be removed if it never
happens
2013-08-28 19:56:29 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-clip.c:
ges-clip: when a child, is removed, disconnect from its notifies.
2013-08-27 19:12:26 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: Make use of g_assert_no_error when it makes sense
2013-08-27 18:40:55 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
tests: Let use 20 sec to execute tests
2013-08-26 23:31:14 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-base-effect.c:
* ges/ges-effect.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-uri-source.c:
trackelement: Simplify the way we handle children properties
So subclass do not have to implement a new logic all the time, but
instead can use a simple method to add properties as needed.
2013-08-26 19:26:08 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-effect-clip.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-title-clip.c:
* ges/ges-track-element.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-clip.c:
clip: Remove the ges_clip_fill_track method
Its was only use by the old custom source which is dead now.
API:
Remove ges_clip_fill_track
https://bugzilla.gnome.org/show_bug.cgi?id=706855
2013-08-26 19:15:08 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-custom-source-clip.c:
* ges/ges-custom-source-clip.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/layer.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/timelineedition.c:
ges: Remove custom clip
If you want a custom clip then you have to subclass GESClip,
This class was pre historicall and only used for testing purposes, we
have GESTestClip for that.
https://bugzilla.gnome.org/show_bug.cgi?id=706855
2013-08-26 19:25:20 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* acinclude.m4:
Remove acinclude.m4 as we do not use it
and it is anyway removed by autogen.sh
2013-08-26 18:56:49 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
integration: Add titles test
2013-08-26 17:41:14 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/gi/overrides/GES.py:
python: Do not initialize GES at import time
2013-08-24 18:21:26 +0100 Tim-Philipp Müller <tim@centricular.net>
* tests/check/ges/test-utils.c:
tests: fix NULL pointer dereference, ternary operator silliness and message type use
2013-08-24 11:39:11 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/test-utils.c:
tests: Give more debugging info when samples could not be generated
2013-08-24 02:41:07 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
* tests/check/ges/project.c:
tests: Fix make distcheck
We need to make sure that we can write to the directory where we save
project files, so doing it in the tmp folder.
+ Properly dist test data files
2013-08-13 18:05:55 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-track-element.c:
trackelement: split bindings correctly.
2013-08-13 17:57:33 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-element.c:
trackelement: update control bindings correctly.
When duration or inpoint change, we need to remove edge control points,
and set new control points with interpolated values.
Also when duration == 0, we need to remove all control points, as otherwise
the controller will raise !is_end assertions.
It's the duty of the application to set keyframes back when duration gets
!= 0 again.
2013-08-12 21:25:31 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-container.c:
container: resort children after prepending an element.
2013-08-12 16:13:40 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-timeline.c:
timeline: when there are no objects anymore, set duration to 0.
2013-08-12 15:01:53 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-audio-track.c:
* ges/ges-audio-track.h:
ges-audio-track: Change contructor prototype.
We return an AudioTrack.
2013-08-11 20:06:49 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* docs/libs/ges-sections.txt:
* ges/ges-pipeline.c:
* ges/ges-pipeline.h:
pipeline: add a get_mode method.
2013-08-07 19:37:49 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
basexmlformatter: Only set timeline auto transitions when done loading.
2013-08-07 16:12:27 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/integration.c:
integration: make test_basic be two concatenated clips.
2013-08-20 08:22:24 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Plug leaks in the can_save_to_uri method
https://bugzilla.gnome.org/show_bug.cgi?id=679941
2013-08-19 15:13:48 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pipeline.c:
pipeline: Remove the dynamic lock
We actually do not need it has everywhere where we would need it we are
already locked against the timeline.dyn_lock, we need to make sure it is
always the case in the future.
The hierarchy of the mutex was wrong and could possibly lead to
deadlocks
2013-08-19 15:12:48 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
formatter: Remove the unsed can_save_uri vmethod
This virtual method does not make much sense right now, we might need it
again later, but most probably with a sensibly different API so removing
it for now.
2012-07-20 14:19:01 +0200 Paul Lange <palango@gmx.de>
* ges/ges-formatter.c:
ges-formatter: Check if directory of URI is writeable
https://bugzilla.gnome.org/show_bug.cgi?id=679941
2013-08-06 18:35:24 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Rework the way we handle seeking while fully paused
The idea is that we should first play until the time we reach the first
position, at that point we PAUSE the pipeline, then, afterward do the
seeks as asked.
If we get the position before the ASYNC DONE, just accept it.
2013-08-05 01:07:36 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: PNG file was renamed to png.png
2013-08-04 17:46:33 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Add a list tests only option
Also add an empty filed in the GOptionEntry array avoiding segfaults
2013-08-02 14:23:13 +0200 Lubosz Sarnecki <lubosz@gmail.com>
* configure.ac:
build: add subdir-objects to AM_INIT_AUTOMAKE
Fixes warnings with automake 1.14
https://bugzilla.gnome.org/show_bug.cgi?id=705350
2013-08-04 17:35:20 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Only use 2 layers for the mixing for now
+ Call the TSuite "integration" instead of "render"
2013-08-04 16:14:42 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: check: All assets moved to assets/
2013-08-03 17:01:22 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Make it possible to list all avalaible tests
You can not use make check-integration --list-tests, you have to use
./integration --list-tests instead
2013-08-02 14:16:26 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Add support for group-id in the stream-start event
2013-08-01 18:14:36 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
Fix compilation
2013-08-01 17:56:16 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Avoid leak
2013-08-01 17:47:50 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Do not forget to set encoding profiles
2013-07-18 23:09:51 +0200 Vasilis Liaskovitis <vliaskov@gmail.com>
* tests/check/ges/integration.c:
integration: add mixing tests
Add a new test that creates a given number of layers. Each layer has the same
assets / clips shifted by a different amount in the timeline. Alpha and volume
properties are different for each layer. This test is similar to the mixer
example in:
http://gist.github.com/MathieuDuponchelle/5736992#file-mixit-py
We should be able to add more clips to each layer, but this example test only
tests mixing 1 clip across 4 layers.
Conflicts:
tests/check/ges/integration.c
2013-08-01 11:31:16 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/integration.c:
tests/integration: display test name when running it.
2013-08-01 11:32:44 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/assets/png.png:
* tests/check/ges/integration.c:
tests/integration: add an asset directory.
2013-07-23 01:50:28 +0200 Vasilis Liaskovitis <vliaskov@gmail.com>
* tests/check/ges/integration.c:
integration: add seek tests to paused pipeline (no playing)
This second set of seeking tests performs the seeks in a PAUSED
pipeline. After all seeks are successful, the pipeline is resumed so that the
test does not timeout.
Conflicts:
tests/check/ges/integration.c
2013-07-19 00:40:00 +0200 Vasilis Liaskovitis <vliaskov@gmail.com>
* tests/check/ges/integration.c:
integration: add paused pipeline seek tests
2013-07-16 19:42:53 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/integration.c:
tests/integration: adds image_filename in the test generation macro
2013-07-27 10:18:30 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
project: Make sure error-loading-asset is emited when needed
In case ges_project_try_updating_id would be called from outside ges-project the signal
was not emitted, change that.
+ Add some debugging
2013-07-24 22:37:06 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Add methods to get and set the snapping distance
2013-07-24 14:26:18 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-track-element.c:
clip: Fix the spliting method
We should make sure that the newly created trackelement are inside
a container when adding them to as this is needed for GESUriClip-s.
Also do not try to set a child property on the TrackElement itself.
https://bugzilla.gnome.org/show_bug.cgi?id=703152
2013-07-23 19:20:34 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Let the user mute the tests when needed
Add an environment variable so the user can make sur that
integration tests use fakesinks instead of real sinks
2013-07-22 20:06:25 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/mixers.c:
tests: Make sure we can have the results into an XML file
2013-07-21 21:41:13 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pipeline.c:
pipeline: Check that the profile could actually be set on the encodebin
Setting the profile on an encodebin can fail, and if that happens, there
will be no profile set at all, we should return FALSE in GESPipeline
when that happens
2013-07-01 16:27:54 +0200 Lubosz Sarnecki <lubosz@gmail.com>
* android/ges.mk:
* docs/libs/architecture.xml:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-enums.h:
* ges/ges-pipeline.c:
* ges/ges-pipeline.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/basic.c:
* tests/check/ges/integration.c:
* tests/check/ges/mixers.c:
* tests/check/ges/project.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESTimelinePipeline to GESPipeline
rename ges_timeline_pipeline methods to ges_pipeline
2013-07-17 22:48:17 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Add some pipeline dumps
When we go to PLAYING, or when we get an error on the bus
+ Activate the hack so that we dump the pipeline on first buffer
pushed by the smart adder
2013-07-17 22:47:31 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Add video/audio only basic tests
2013-07-17 20:54:20 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-uri-asset.c:
* tests/check/ges/integration.c:
tests: integration: Give some more information to user on errors
2013-07-17 18:34:22 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: intergration: Add some more encoding profiles
2013-07-17 16:09:29 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Give the user more details about failure when checking transcoded file
2013-07-17 16:06:09 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Be more precise with namings
Fully define formats in the namings
+ Add an mp3 + h264 in mov test
2013-07-17 13:06:05 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Refactor and make easier to add encoding profiles
2013-07-17 12:31:02 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
* tests/check/ges/integration.c:
tests: integration: Add audio/video only seeking tests
2013-07-17 12:05:26 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: integration: Remove the effect in test_seeking
It complexifies the test but this is not what we actually want in
that test
2013-07-16 21:58:16 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: Remove prints
And use GST_DEBUG and friends instead
2013-07-14 14:03:46 +0200 Vasilis Liaskovitis <vliaskov@gmail.com>
* tests/check/ges/integration.c:
integration: some fixes for seek tests
- Use g_list_remove_link so that ordering of seeks is not mandatory
- use g_slice allocator for SeekInfo structs
- Fix leak in freeing seek list
- Check for NULL seeks at end of test, otherwise fail and free failed seeks
2013-07-13 15:15:04 +0200 Vasilis Liaskovitis <vliaskov@gmail.com>
* tests/check/ges/integration.c:
integration: add SeekInfo and get_position callback for seek tests
A Seekinfo structure consists of 2 fields:
- position: the position to seek to
- seeking_position: the position to perform the seek from
Seeks can be appended to a global list e.g. from code:
seeks = g_list_append (seeks, new_seek_info (0.2 * GST_SECOND, 0.6 * GST_SECOND));
seeks = g_list_append (seeks, new_seek_info (1.0 * GST_SECOND, 1.2 * GST_SECOND));
seeks = g_list_append (seeks, new_seek_info (1.5 * GST_SECOND, 1.8 * GST_SECOND));
The get_position callback checks the current position and attempts to perform
the corresponding seek with gst_element_seek_simple
2013-07-02 20:50:05 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-uri-clip.c:
ges-uri-clip: Add the possibility to specify an assets directory
through the GES_TESTING_ASSETS_DIRECTORY environment variable.
2013-07-12 19:44:46 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/integration.c:
tests: Simplifie integration tests using macros all around
2013-04-26 00:03:21 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* Makefile.am:
* tests/check/Makefile.am:
* tests/check/ges/integration.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
tests: Add integration tests
Those are test with real media files, they are run separetely from other
unit tests using the make check-integration command (can be done from
the toplevel directory)
2013-04-28 00:22:42 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
test-utils: Add test file generation code.
2013-06-28 15:49:03 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-element.c:
track-element: No need to log when prio == MIN_GNL_PRIO.
2013-06-27 23:33:21 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/gstframepositionner.c:
framepositionner: fix messup with propname enum.
2013-06-26 23:23:59 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track.c:
* ges/ges-track.h:
track: Make it possible to disable the mixing feature
API:
ges_track_set_mixing
ges_track_get_mixing
2013-06-29 00:17:31 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-timeline.c:
timeline: create_transitions_on_layer *before* actually commiting
Everything need to be in place before commiting, otherwize it makes no
sense at all.
2013-07-12 11:55:46 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-group.c:
* ges/ges-group.h:
group: Add an empty group constructor
As it is more intuitive for users.
API:
ges_group_new
2013-07-10 23:33:51 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-group.c:
container/group/clip: Allow creating an empty group.
This is a legitimate use case.
2013-07-10 21:24:28 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-group.c:
* ges/ges-timeline.c:
container: Add a 'recursive' argument to the get_children method
API:
- ges_container_get_children (GESContainer *container);
+ ges_container_get_children (GESContainer *container, gboolean recurse);
2013-07-11 02:16:19 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-group.c:
group: set priv->setting_value to TRUE when moving ourselves in _child_removed
2013-07-10 23:15:17 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
* tests/check/ges/group.c:
timelineelement: Make sure that we will never set a negative start
Currently we can end up overflowing the start of others child of our
parent, avoid that making sure we can set our start to what was
requested by the user before actually doing it
+ Add a test
2013-07-09 21:30:59 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Append missing layers when moving groups between layers
This was a missing feature of the newly added groups
2013-06-26 17:08:57 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-group.c:
* ges/ges-group.h:
* ges/ges-internal.h:
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/Makefile.am:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/group.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/timelineedition.c:
ges: Implement a GESGroup class, subclass of GESContainer
The GESGroup class is used to group various GESContainer
together, it can contain either GESClips or GESGroup or both.
2013-07-07 22:40:55 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-xml-formatter.c:
xml-formatter: Indent formatted files
2013-07-03 18:33:05 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timeline-element: Add a method to get the topelevel parent of an element
API:
ges_timeline_element_get_toplevel_parent
2013-07-03 12:48:58 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/timelineedition.c:
* tests/check/ges/transition.c:
tests: More safely check if objects where destroyed
Check if an object rthat has already been freed has been destroyed is not safe.
Add a helper function that uses weak reference to check that objects that are expected
to be destroyed when unrefing an object are actually destroyed.
2013-07-02 19:47:48 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Emit the notify::layer signal only when actually needed
That means:
- only when we do change layer
- At the end of moving between two layers
2013-07-02 10:56:40 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Avoid list corruption when grouping objects
We are currently iterating over a list that is modified in the same
method, we have to get a copy of the list, and iterate over the copy.
2013-07-01 20:35:39 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-internal.h:
clip: Add an internal method to easily get the priority of the layer the clip is in
2013-07-01 17:57:03 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
container: Remove the get_priority_range vmethod
We now let full control to subclasses so we do not need it anymore.
2013-07-01 17:51:32 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
container: Let full control of children priorities to subclasses
For that we make the children_control_mode a protected filed, directly usable by
subclasses, removing the method to set it.
And we let the subclass set and get the priority offsets to the container class.
2013-07-01 16:19:31 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Make sure that new gaps are filled before removing the old ones
Currently we can end up having gaps in track as the first step of the
gap filling method removes currently set gaps.
2013-06-29 19:31:23 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* tests/check/ges/effects.c:
clip: Handle child priority offsets when setting priority
2013-06-28 19:17:54 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: Do not allow adding an element to a container if it already has a parent
This should never happen, an element can have 1 and only 1 parent.
2013-06-28 19:16:47 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: "Implement" the set_priority vmethod
This way we will just accept any value setted
2013-06-28 19:15:59 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
ges: Avoid leaking the timeline when grouping containers
2013-06-28 14:39:16 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
container: Let subclasses decide when height change should be computed
API:
- GESContainer.compute_height vmethod
+ _ges_container_set_height
2013-07-02 13:43:49 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
base-xml-formatter: s/ducation/duration/
2013-06-28 12:56:17 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: ges_container_ungroup return a transfer full list
2013-06-28 11:23:27 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-container.c:
* ges/ges-container.h:
* tests/benchmarks/timeline.c:
* tests/check/ges/layer.c:
* tests/check/ges/timelineedition.c:
ges: Move ges_clip_edit to GESContainer
This exact same method will be needed in GESGroup, so we should have the method
in the common parent class.
API:
- ges_clip_edit
+ ges_container_edit
+ GESContainer->edit vmethod
2013-06-26 19:55:37 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: Update offsets in GESTimelineElement vmethod implementations
So subclasses just have to link up to resync offsets
2013-06-26 17:08:16 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-effect-asset.c:
* ges/ges-gerror.h:
docs: Misc documentation fixes
2013-06-25 18:37:48 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Never try to set the start after the end of an element when trimming
2013-06-25 18:37:17 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
internal: Add a macro to make it easier to get the end of a TimelineElement
2013-06-25 18:36:24 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/layer.c:
track: Update gaps only when commiting
We were still updating them at useless moments, do it only when absolutely needed.
2013-06-25 18:34:44 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: Fix the way we check priority of subclasses when grouping objects
The resulting list was from lower to higher, we need the contrary
2013-06-26 16:54:02 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
ges: Move GESTimelineElemt vmethod implementation from container to clip
This is where they belong to has they are specific to that
implementation of the baseclass
2013-06-25 18:32:49 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
* ges/ges-container.h:
container: Make initiated_move a read only protected member
It is a interesting information for subclasses.
Conflicts:
ges/ges-container.c
2013-07-09 10:57:51 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
internal: Fix typo in the header
ges_base_xml_formatter_add_control_bindingi was meant to be
ges_base_xml_formatter_add_control_binding
2013-07-01 23:33:01 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-audio-transition.c:
* ges/ges-track-element.h:
* ges/ges-video-transition.c:
track-element: Remove duration_changed virtual method.
We use notifies for the properties.
+ Use notifies in audio-transition and video-transition
2013-07-09 00:31:30 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
formatters: Save and load bindings applied to sources.
2013-06-17 07:55:54 +0200 Alban Browaeys <prahal@yahoo.com>
* tools/ges-launch.c:
ges-launch: make it portable to all locales.
Call setlocale (LC_ALL, "") as per setlocale man page
to make ges-launch portable to all locales (instead of default
"C" one).
Fixes g_option_context_parse on:
$ ges-launch-1.0 --verbose -r -q /home/prahal/Vidéos/Test3.xges -o
file:///home/prahal/Test3.mpeg
Error initializing: Invalid byte sequence in conversion input
The accentuated character in "Vidéos" the french xdg user directory
for "Videos" is what is choked upon.
https://bugzilla.gnome.org/show_bug.cgi?id=702425
2013-06-28 00:24:33 +0100 Tim-Philipp Müller <tim@centricular.net>
* ges/ges-timeline-pipeline.c:
timelinepipeline: fix caps leak
2013-06-26 12:57:17 +0000 Руслан Ижбулатов <lrn1986@gmail.com>
* ges/ges-timeline-pipeline.c:
timelinepipeline: make the caps from encoding profile writable
https://bugzilla.gnome.org/show_bug.cgi?id=703121
2013-06-23 18:27:41 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-uri-source.c:
urisource: Do not let user reset the URI property
This is not supported right now and would lead to unexpected behaviours
2013-06-03 23:02:15 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/Makefile.am:
* ges/ges-smart-video-mixer.c:
* ges/ges-uri-source.c:
* ges/ges.c:
* ges/gstframepositionner.c:
* ges/gstframepositionner.h:
ges: Add a framepositionner element used in ges-smart-mixer and ges-uri-source
It adds metadata on the buffers and the mixer parses them.
This is done because we want to keep positionning properties
and set them on the dynamic mixer pad.
Conflicts:
ges/Makefile.am
2013-05-30 06:05:48 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/mixers.c:
tests: Add a audio/video mixing test.
2013-05-30 06:04:47 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-video-track.c:
video-track: "implement" get_mixing_element.
2013-05-29 18:48:42 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/Makefile.am:
* ges/ges-smart-video-mixer.c:
* ges/ges-smart-video-mixer.h:
* ges/ges-video-track.h:
ges-smart-mixer: first code dump, mainly copy paste from ges-smart-adder.
2013-04-30 19:19:39 +0200 Simon Corsin <simoncorsin@gmail.com>
* ges/ges-layer.c:
ges-layer.c: notify priority changes.
2013-05-16 09:40:22 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-uri-source.c:
ges-uri-source: Refactoring work.
+ Categorize functions (Callbacks, vmethods)
+ make more generic functions for the creation of the bin.
2013-05-16 08:10:35 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-base-effect.c:
* ges/ges-uri-source.c:
* ges/ges-utils.c:
* ges/ges-utils.h:
uri-source: Expose the volume property.
+ Make the pspec_hash function an internal util.
+ Add a create_props_hashtable implementation
+ If TRACK_TYPE_AUDIO, put the volume properties in the hashtable.
2013-05-16 04:22:16 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-uri-source.c:
* ges/ges-uri-source.h:
uri-source: when creating the audio element, set the volume to the layr volume when necessary.
2013-05-16 03:27:20 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-uri-source.c:
ges-uri-source: don't use gnlurisource but a custom bin.
+ This bin is a uridecodebin when GES_TRACK_TYPE_VIDEO
+ This bin contains a uridecodebin and a volume when GES_TRACK_TYPE_AUDIO
2013-05-15 18:59:10 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-smart-adder.c:
smart-adder: remove volume from the bin, which quite simplifies the code.
+ Don't be too smart, adder.
2013-03-31 00:08:15 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/Makefile.am:
* ges/ges-audio-track.c:
* ges/ges-audio-track.h:
* ges/ges-smart-adder.c:
* ges/ges-smart-adder.h:
* ges/ges-track.c:
* tests/check/Makefile.am:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/mixers.c:
smart-adder: Implement a GESSmartAdder bin element to be used as mixing element
..in audio tracks
2013-04-22 00:21:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-layer.c:
* ges/ges-meta-container.h:
* tests/check/ges/layer.c:
meta-container: Add a VOLUME default meta to layers
2013-03-31 12:34:58 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-custom-source-clip.c:
ges: Misc documentation fixes
2013-03-30 19:02:52 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
* ges/ges-track.h:
track: Implement infrastructure for mixing
2013-03-30 19:01:26 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
* ges/ges-track-element.c:
track-element: Set a reference to the GESTrackElement on the GnlObjects using qdata
2013-03-29 19:23:00 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-auto-transition.c:
* ges/ges-clip.c:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-simple-layer.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
ges: Make space in the GESTracks to be able to add mixing elements later
And update the tests
2013-03-29 19:04:54 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/effects.c:
tests:effects: Make use of normal layers, and enhance tests
2013-03-29 18:56:31 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-layer.c:
layer: Fix some mix up in variable names
2013-03-29 18:55:27 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-layer.c:
layer: Simplify a bit how we handle priorities
2013-03-29 18:53:25 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
* ges/ges-timeline.c:
timeline-element: Make it possible to reset the timeline property to NULL
+ Add some debug symbol
2013-03-28 18:51:45 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-audio-track.c:
* ges/ges-audio-track.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-track.c:
* ges/ges-track.h:
* ges/ges-types.h:
* ges/ges-utils.c:
* ges/ges-video-track.c:
* ges/ges-video-track.h:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
ges: Implement GESAudioTrack and GESVideoTrack, subclasses of GESTrack
2013-06-16 21:47:52 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Report position while playing back
Giving more feedbacks to the user
2013-06-16 19:10:18 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Remove xptv formatter related code
It is not usefull anymore
2013-06-15 22:13:20 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Properly add UriClipAssets to the project
2013-06-09 12:29:05 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-project.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-track.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tools/ges-launch.c:
ges: Port to the new commit based API in GNL
The GNL API changed to go from a model where user could
enable/disable updates in the composition, which leaded to races
in many places, to a model where any positioning change in the
composition is not directly done but 'cached' and then the user
has to commit those changes so they become effective in the media
processing stack.
The new API in GES is pretty similare and is basically copy
pasting this new design.
We still need to see if in some context it would make sense to add
a mode where we would commit any changes ourself at the end of our
operation for basic use cases.
Removed APIs:
ges_timeline_enable_update
ges_timeline_is_updating
ges_track_enable_update
ges_track_is_updating
New APIs:
ges_track_commit
ges_timeline_commit
2013-06-20 14:23:26 +0200 Lubosz Sarnecki <lubosz@gmail.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-project.c:
timeline: fix segfaults
don't call the timeline update, when the reference is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=702605
2013-06-18 13:32:38 +0100 Tim-Philipp Müller <tim@centricular.net>
* autogen.sh:
* common:
autogen.sh: generate from common module, fixing srcdir != builddir build
https://bugzilla.gnome.org/show_bug.cgi?id=702424
2013-06-18 13:14:48 +0100 Tim-Philipp Müller <tim@centricular.net>
* gst-editing-services.doap:
Add .doap file
Needed for common/update-autogen, but generally not a bad idea.
2013-04-30 19:16:10 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-uri-asset.c:
ges-uri-asset.c: Fix ges_uri_asset_request_sync annotations.
2013-06-12 11:32:16 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-project.c:
project: Disable update in the project rather than the formatter
We need to make sure the update are disabled until the project is fully
loaded, let the responsability to the project instead of the formatter
2013-06-12 11:09:13 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Sync track enable_update property with parent
When we add a track to a timeline, we want it "enable update" property
to be set to the timeline's
2013-06-12 10:48:03 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Make use of assets for uri clips
It avoids races in TrackElement creations.
We should make use of assets everywhere in ges-launch but start using
them for uriclips first for now.
2013-06-05 15:18:36 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 098c0d7 to 01a7a46
2013-05-30 11:40:36 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/uriclip.c:
tests: Pass a ref of CAPS_ANY to ges_track_new
2013-05-29 16:48:03 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/basic.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
tests: Add a basic test for pipeline state change
Add some test utils to create a pipeline
2013-05-29 14:05:52 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
ges: Protect from Gst dynamic callbacks
The pad-added and no-more-pad signal can be emited from any thread
so we have to protect our code from that
2013-05-23 15:52:35 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
* tests/check/ges/backgroundsource.c:
track: Update all gaps when timeline duration changed
And add a unit test to check that a gap is created in empty tracks
2013-05-23 13:16:22 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-source.c:
* ges/ges-uri-source.h:
* tests/check/ges/uriclip.c:
Finish renaming filesource to urisource
2013-05-23 11:57:42 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Update gaps when we set the timeline
2013-05-28 08:51:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/ges-pitivi-formatter.c:
ges-pitivi-formatter: Remove some unneeded includes and clean up includes
Fixes the build on Windows, where there's no unistd.h... which wasn't
needed at all.
https://bugzilla.gnome.org/show_bug.cgi?id=701115
2013-05-27 22:10:03 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/asset.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
tests: Use the gst_check_run_suite helper everywhere
Using GST_CHECK_MAIN where appropriate
This way it is possible to specify an XML file to store tests results in
2013-05-15 10:55:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 5edcd85 to 098c0d7
2013-03-05 17:09:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* .gitignore:
Update gitignore
2013-03-05 17:07:29 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ges/Makefile.am:
* ges/ges-asset.h:
* ges/ges-internal-enums.h:
GESAssetLoadingReturn cannot be internal
The enumeration is referenced in a public API.
2013-05-05 11:13:24 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Avoid corruption of our list of children while ungrouping
2013-04-24 15:25:20 +0300 Anton Belka <antonbelka@gmail.com>
* tests/check/Makefile.am:
* tests/check/ges/project.c:
* tests/check/ges/test-auto-transition.xges:
tests: add project auto-transition test
2013-04-24 15:23:44 +0300 Anton Belka <antonbelka@gmail.com>
* tests/check/ges/layer.c:
tests: add timeline auto-transition test
2013-04-24 15:18:01 +0300 Anton Belka <antonbelka@gmail.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: add auto-transition
API:
ges_timeline_get_auto_transition
ges_timeline_set_auto_transition
GESTimeline::auto-transition
2013-04-30 18:26:57 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
basexmlformatter: Do not allow empty file loading
2013-04-27 03:45:29 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-video-test-source.c:
video-test-src: Force video/x-raw
Avoiding to hit errors with video/x-bayer
2013-04-21 21:35:22 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-audio-transition.c:
audiotransition: Add a resampler in the audio transition bin
2013-04-21 19:21:14 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-audio-transition.c:
audiotransition: Fix porting error of the interpollator
+ update debug statements s/LOG/INFO
(acontrolsource != bcontrolsource)
2013-04-27 03:44:40 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-audio-test-source.c:
* ges/ges-test-clip.c:
* ges/ges-video-test-source.c:
* tests/check/ges/backgroundsource.c:
test-clip: Do not set black/silent by default
2013-04-24 03:50:40 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-video-transition.c:
replace query_caps with get_current_caps. don't check for unused gnlobject.
2013-04-23 20:04:04 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* bindings/python/examples/material.py:
* bindings/python/examples/simple.py:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-container.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-internal.h:
* ges/ges-layer.c:
* ges/ges-layer.h:
* ges/ges-operation-clip.c:
* ges/ges-overlay-clip.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-simple-layer.c:
* ges/ges-simple-layer.h:
* ges/ges-simple-timeline-layer.h:
* ges/ges-source-clip.c:
* ges/ges-source-clip.h:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-title-clip.c:
* ges/ges-title-clip.h:
* ges/ges-track-element.c:
* ges/ges-transition-clip.c:
* ges/ges-types.h:
* ges/ges-utils.c:
* ges/ges-xml-formatter.c:
* ges/ges.h:
* tests/benchmarks/timeline.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESTimelineLayer to GESLayer
2013-04-23 19:57:44 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline.c:
* ges/ges-xml-formatter.c:
* tests/benchmarks/timeline.c:
* tests/check/ges/clip.c:
* tests/check/ges/layer.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/uriclip.c:
* tests/examples/test1.c:
layer: Remove the "rate" property of ges_timeline_layer_add_asset
API:
- ges_timeline_layer_add_asset (layer, asset, start, inpoint, duration, rate, track_types);
+ ges_timeline_layer_add_asset (layer, asset, start, inpoint, duration, track_types);
2013-04-23 22:38:23 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-element.c:
trackelement: asynchronously add bindings if the track-element is not in a track yet.
Also fix annotations.
2013-04-22 17:34:09 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-pitivi-formatter.c:
formatter: Pass a dummy instance of formatter to virtual method
Instead of passing the class itself
2013-04-22 23:56:03 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 3cb3d3c to 5edcd85
2013-04-22 09:41:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-xml-formatter.c:
Fix compilation
2013-04-21 21:29:29 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-xml-formatter.c:
xml-formatter: Use G_GUINT64_FORMAT where needed
2013-04-21 21:13:00 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
uri-clip-asset: Add "_class_" to a class method
API CHANGE:
- ges_uri_clip_asset_set_timeout
+ ges_uri_clip_asset_class_set_timeout
2013-04-21 21:11:52 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
* ges/ges-xml-formatter.c:
ges: Fix compilation with clang
2013-04-19 19:58:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
project: Accept NULL as a valid value for @id in _create_asset
2013-04-18 18:41:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/clip.c:
tests: Check splitting a clip with several TrackElement
2013-04-18 21:45:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Rework the splitting method
+ Avoid setting clip duration of our parent ourself
Now each and every TrackElement inside a clip have the same
start/inpoint/duration
2013-04-18 18:59:52 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
ges: Fix compilation
2013-04-18 18:37:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
pipeline: Add API guards where needed
2013-04-17 16:51:30 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* tests/examples/thumbnails.c:
* tools/ges-launch.c:
pipeline: Add a GError argument
2013-04-17 16:48:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
pipeline: Return FALSE in save_thumbnail when the operation fails
2013-04-15 01:30:10 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* tests/check/ges/timelineedition.c:
tests:timelineedition: Add a simple trimming test
2013-04-14 23:19:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: The TimelineElement.inpoint property is call "in-point" not inpoint
2013-03-22 19:44:28 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
ges-clip: Remove the unlocked TrackElement APIs
Remove APIs:
ges_track_element_set_locked
ges_track_element_is_locked
Those APIs where really not nice to use and were causing more issues
than solving them. If 2 time related properties of TimelineElement must
be different, then those element can *not* have the same parent.
Plus, with the new ges_container_group () API, we will recreate 1
GESClip containing the proper GESTimelineElements if it is the thing
to do.
2013-03-22 19:34:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitivi-formatter: Remove broken code to handle unlocked track object
WARNING: The plan is to remove unlocked track object APIs so this is
the first part of that process... that code was already broken, and
*needs* to be fixed anyway, better do it using new APIs
2013-03-22 18:43:30 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitivi-formatter: Remove saving code
2013-04-14 17:58:38 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From aed87ae to 3cb3d3c
2013-04-09 21:03:03 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 04c7a1e to aed87ae
2013-04-09 00:02:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
timeline: call sync_state_with_parent when adding a child
2013-03-31 16:07:14 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* tests/check/ges/project.c:
track-element: Rename set_property_controlling_parameters set_control_source
+ Generate the documentation
2013-03-30 18:54:50 +0100 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-xml-formatter.c:
* tests/check/ges/project.c:
* tests/check/ges/test-keyframes.xges:
[Keyframes] Adds API to set a control binding on a track element, and the serialization code.
2013-03-30 15:40:38 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline-layer.c:
Changing remaining clip::track-element-added to container::child-added
2013-03-30 14:35:45 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
pipeline: Implement the video overlay interface
2013-03-30 13:37:43 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tools/ges-launch.c:
ges-launch: Do no create "normal" timeline when you load a project
2013-03-30 13:34:56 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
timeline-pipeline: Enhance API guards
2013-03-30 13:34:36 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Do no unref the timeline before returning it
2013-03-30 12:30:47 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
container: s/get_priorty_range/get_priority_range/
2013-03-29 15:50:12 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Comment some variables goals
2013-03-28 19:00:25 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/effects.c:
tests:effect: Do not re-add effect to the track
2013-03-24 18:42:55 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* tests/check/ges/simplelayer.c:
container: Let subclasses handle the height
+ Fix tests (starting using GESTestClip instead of GESCustomClip)
Now the height is not only growing, but can also go down, as the value
is just simply computed
API:
GESContainer::compute_height virtual method
2013-03-23 09:46:38 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
container: Properly implement ges_container_group
2013-03-23 08:48:43 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/basic.c:
test:basic: Do not add useless references, and minor improvements
2013-03-23 08:45:00 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
clip: Emit notify signal when setting Clip.layer
2013-03-23 08:14:55 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Remove TrackElement from its container on GESTimelineLayer::"clip-removed"
.... when the Track is NULL
2013-03-23 03:27:46 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
* tests/check/ges/clip.c:
container: Make sure that the child exists when emiting the "child-removed" signal
+ Add a test
2013-03-23 03:26:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-internal.h:
container: Replace ignore_notify by a GESChildrenControlMode flag
2013-03-23 01:35:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
container: Stop ignoring notifies if ->add_child fails
2013-03-23 01:33:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-container.c:
* ges/ges-internal.h:
* ges/ges-utils.c:
internal: Add a element_end_compare
2013-03-23 01:31:23 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-element.h:
timeline-element: Add a macro to get element 'end'
2013-03-22 17:39:04 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-gerror.h:
* ges/ges-uri-asset.c:
ges: Keep ges-gerror categories simple.
2013-03-21 22:17:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
* ges/ges-uri-asset.h:
* tests/check/ges/test-utils.h:
* tests/check/ges/uriclip.c:
Misc cleaning
2013-03-21 22:12:47 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
* ges/ges-track-element.h:
track-element: Make ges_track_element_set_track internal
Removed API:
+ ges_track_element_set_track
2013-03-21 22:03:09 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.h:
* ges/ges-internal.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/overlays.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
ges: Make ges_clip_create_track_element(s) internal methods
+ Fix tests (we still need a round of modernisation, making use of
assets where it makes sense)
There is no reason to use those method outside of GES, so remove them,
cleaning the API and making it easier for users.
Removed APIs:
-----------
* ges_clip_create_track_element
* ges_clip_create_track_elements
2013-03-21 21:42:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
* tests/check/ges/image.png:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/uriclip.c:
tests::uriclip: Use a real file to test still images
+ Make use of GESAssets
And do proper refactoring
2013-03-19 21:07:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-uri-asset.c:
uri-asset: Properly handle images and do not duplicate the TrackType
2013-03-19 19:49:09 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* tests/check/ges/uriclip.c:
uri-asset: Implement a ges_uri_clip_asset_request_sync method
This way we let the possibility to the user to actually do it, but we avoid him to do it
without knowing it is absolutely not recommanded to.
API:
+ ges_uri_clip_asset_request_sync
2013-03-18 12:41:06 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-gerror.h:
* ges/ges.h:
Start categorizing GError types in GES
2013-03-18 10:03:19 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
timeline-element: Do not give a reference to the calles of g_object_get_property
... for both the "parent" and the "timeline" properties
Making things simpler to handle for the copy method.
2013-03-18 10:02:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* tests/check/ges/clip.c:
clip: Make it mandatory that a clip is in a layer to be splittable
Otherwize we will not be able to describe if the returned object has a floating reference or not, and this would screw the introspection.
2013-03-18 09:49:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
Use gst_object_ref_sink instead of g_object_ref_sink when appropriate
Making refcount issue debugging simpler
2013-03-16 19:05:04 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-project.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-asset.c:
* ges/ges-utils.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/assets.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
Always prefer gst_object_(un)ref over g_object_(un)ref
Making the refcount issue debugging easier
2013-03-15 12:01:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.h:
* ges/ges-internal.h:
clip: Make set/is_moving_from_layer internal
2013-03-15 11:58:59 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.h:
* ges/ges-internal.h:
clip: Reindent header and make ges_clip_set_layer internal
2013-03-15 11:32:48 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
* ges/ges-track.h:
track: Cleanup header and add a FIXME
2013-03-15 00:01:47 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-timeline.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* tests/check/ges/basic.c:
Remove GESTrackElements from GESTracks when removing from a GESClip
... Not the other way round.
+ Add and enhance debugging info on the way
The user should not be responsible for removing the GESTrackElements from
GESTracks, instead, removing it from a GESClip should imply removing
it from any GESTrack it is in.
This patch changes sensibly the behaviour when we remove a
GESTrackElement from a GESTrack, not remoing it from the GESClip it is
in. *But*, users should never remove a GESTrackElement from a GESTrack
anyway. The testsuite has been updated to that new behaviour.
2013-03-14 12:53:25 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/effects.c:
* tests/examples/ges-ui.c:
ges: Make GESTimeline responsible for adding GESTrackElement to GESTrack
+ Fix tests as necessary (Do not use agingtv as it can be "applied" on any TrackType
and is not representative of what happens IRL)
We already had the infrastructure so the user can have the control over where to add
the elements (through the "select-track-for-object" signal). We now make use of that
signal everytime a GESClip is added to a GESTimelineLayer. This make user's life easier,
and object responsability clearer.
2013-03-14 11:14:31 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/Makefile.am:
* ges/ges-effect-asset.c:
* ges/ges-effect-asset.h:
* ges/ges-effect.c:
Add a GESEffectAsset class, and make sure to set the GESTrackType asap on effects
+ Make use of the asset in ges_effect_new
2013-03-03 11:50:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-custom-source-clip.c:
* ges/ges-effect-clip.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-title-clip.c:
* ges/ges-transition-clip.c:
ges: Use GESAsset in clip contructors when possible
2013-03-03 11:16:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
timeline-element: Set asset from the copied element to the new copy
2013-03-02 18:35:34 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* tests/check/ges/clip.c:
container: Add a ges_container_group method
+ Add some basic unit tests
API:
GESContainer:group vmethod
ges_container_group
2013-03-01 22:26:01 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Do not remove a TrackElement from a NULL clip
2013-03-01 20:25:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-container.c:
* ges/ges-container.h:
* tests/check/ges/clip.c:
container: Add a way to ungroup a GESContainer into several GESContainers
+ Add simple unit test
API:
GESContainerClass::ungroup vmethod
ges_container_ungroup
2013-03-01 22:05:45 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
timeline-element: Make it possible to reset parent to NULL
2013-03-01 19:18:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-base-xml-formatter.h:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-pitivi-formatter.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-element.h:
* ges/ges-timeline-layer.h:
* ges/ges-timeline.h:
Fix some documentations
2013-02-28 22:27:50 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-auto-transition.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-container.c:
* ges/ges-container.h:
* ges/ges-internal.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-source-clip.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-track.c:
* ges/ges-transition-clip.c:
* ges/ges-types.h:
* ges/ges-uri-clip.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
* tests/examples/transition.c:
Implement GESContainer
+ Fix unit tests
+ Minor enhancement in unit tests
API changes:
-----------
* ges_track_element_get_clip -> ges_timeline_element_get_parent
* ges_clip_add_track_element -> ges_container_add
* ges_clip_release_track_element -> ges_container_remove
* ges_clip_get_track_elements -> ges_container_get_children
(or GES_CONTAINER_CHILDREN)
2013-03-01 11:03:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
docs: Remove ges_clip_lock_track_elements
it does not exist anymore...
2013-02-28 22:22:35 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-element.c:
timeline-element: Enhance debug statement and documentation
+ Accept NULL as a parent
2013-02-28 15:12:15 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline-layer.c:
* ges/ges-track.c:
timeline-element: Add a "timeline" property
2013-02-28 18:14:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* .gitignore:
gitignore: Ignore *.page
2013-03-14 16:09:37 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/random/rework_class_hierarchie.html:
docs: Add an little explanation about the class hierarchie rework
2013-03-07 00:04:38 +0000 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 2de221c to 04c7a1e
2013-03-06 10:27:15 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
* ges/ges-timeline-element.c:
ges-timeline-element: Fix GST_DEBUG_OBJECT invocations
Fixes #695267
2013-02-14 23:34:48 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-audio-transition.c:
* ges/ges-auto-transition.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-custom-source-clip.c:
* ges/ges-custom-source-clip.h:
* ges/ges-image-source.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-track-element.c:
* ges/ges-transition-clip.c:
* ges/ges-uri-clip.c:
* ges/ges-uri-source.c:
* tests/benchmarks/timeline.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
Rename object/tobj/trobj to clip or track_element as necessary
Not really complete but it is a good start!
2013-02-09 21:49:16 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-effect-clip.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline.c:
* ges/ges-transition-clip.c:
Finish renaming tck_obj and derivate to track_element
2013-02-08 17:25:25 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-clip.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline.c:
* ges/ges-xml-formatter.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESTimelineLayer.xxx_object to GESTimelineLayer.xxx_clip
2013-02-08 17:23:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
* ges/ges-track.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
track: Rename all GESTrack.xxx_object to GESTrack.xxx_element
2013-02-08 17:19:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* tests/examples/ges-ui.c:
Properly rename object-added to clip-added
2013-02-08 17:11:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-clip.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-uri-clip.c:
* ges/ges.c:
* tests/check/ges/basic.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
* tests/examples/test1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tools/ges-launch.c:
Finish renaming timeline object to clip
2013-02-08 16:39:18 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-audio-test-source.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-custom-source-clip.h:
* ges/ges-image-source.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-title-source.c:
* ges/ges-track-element.c:
* ges/ges-track.c:
* ges/ges-uri-clip.c:
* ges/ges.c:
* tests/check/ges/basic.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
Finish renaming track object to track element
2013-02-01 17:51:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
Add GESTimelineElement.{start, inpoint, duration, maxduration, priority} getters
2013-01-28 14:36:06 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-uri-clip.c:
uriclip: Fix wrong acces to object instead of its duration field
2013-01-27 16:21:01 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-title-clip.c:
* ges/ges-title-clip.h:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
* tests/check/ges/titles.c:
Reword ges_title_clip_set_color to ges_title_clip_set_text_color
2013-01-27 16:16:27 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-effect-clip.c:
* ges/ges-title-clip.c:
* ges/ges-title-clip.h:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
Rename ges_title_.*_set_background to set_background_color
2013-01-27 16:07:12 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-title-clip.c:
* ges/ges-title-clip.h:
titleclip: Remove useless mute property
2013-01-27 16:02:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitiviformatter: Fix renaming issues
2013-01-27 16:02:19 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay-clip.h:
* tests/check/ges/overlays.c:
* tests/examples/overlays.c:
Rename overlay_text to text_overlay
2013-01-27 12:51:52 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-clip-asset.c:
* ges/ges-clip-asset.h:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* ges/ges.h:
Rename GESAssetClip to GESClipAsset
2013-01-27 12:44:13 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-audio-transition.c:
* ges/ges-audio-transition.h:
* ges/ges-transition-clip.c:
* ges/ges-types.h:
* ges/ges.h:
Rename GESTrackAudioTransition to GESAudioTransition
2013-01-27 12:41:51 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-track-video-transition.h:
* ges/ges-transition-clip.c:
* ges/ges-types.h:
* ges/ges-video-transition.c:
* ges/ges-video-transition.h:
* ges/ges.h:
* tests/check/ges/transition.c:
Rename GESTrackVideoTransition to GESVideoTransition
2013-01-27 12:31:10 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-timeline.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-audio-transition.h:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
* ges/ges-transition-clip.c:
* ges/ges-transition.c:
* ges/ges-transition.h:
* ges/ges-types.h:
* ges/ges.h:
Rename GESTrackTransition to GESTransition
2013-01-27 12:27:19 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-base-effect.c:
* ges/ges-base-effect.h:
* ges/ges-operation.c:
* ges/ges-operation.h:
* ges/ges-text-overlay.c:
* ges/ges-text-overlay.h:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-types.h:
* ges/ges.h:
Rename GESTrackOperation to GESOperation
2013-01-27 12:24:44 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay.c:
* ges/ges-text-overlay.h:
* ges/ges-track-text-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/overlays.c:
* tests/check/ges/text_properties.c:
Rename GESTrackTextOverlay to GESTextOverlay
2013-01-26 14:25:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-title-clip.c:
* ges/ges-title-source.c:
* ges/ges-title-source.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/titles.c:
Rename GESTrackTitleSource to GESTitleSource
2013-01-26 14:21:56 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-image-source.c:
* ges/ges-image-source.h:
* ges/ges-types.h:
* ges/ges-uri-clip.c:
* ges/ges.h:
* tests/check/ges/uriclip.c:
Rename GESTrackImageSource to GESImageSource
2013-01-26 14:14:57 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-asset-track-object.h:
* ges/ges-track-element-asset.c:
* ges/ges-track-element-asset.h:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* ges/ges-uri-source.c:
* ges/ges.h:
Rename GESAssetTrackElement to GESTrackElementAsset
2013-01-26 14:07:01 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* ges/ges-uri-source.c:
* ges/ges-uri-source.h:
* ges/ges.h:
Rename TrackFileSource to UriSource
2013-01-26 13:08:20 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* docs/working-diagrams.svg:
* ges/Makefile.am:
* ges/ges-audio-test-source.c:
* ges/ges-audio-test-source.h:
* ges/ges-clip.c:
* ges/ges-custom-source-clip.c:
* ges/ges-source-clip.c:
* ges/ges-source.c:
* ges/ges-source.h:
* ges/ges-timeline.c:
* ges/ges-track-filesource.c:
* ges/ges-track-filesource.h:
* ges/ges-track-image-source.c:
* ges/ges-track-image-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-types.h:
* ges/ges-video-test-source.c:
* ges/ges-video-test-source.h:
* ges/ges.h:
Rename GESTrackSource to GESSource
2013-01-26 13:03:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-test-clip.c:
* ges/ges-track-title-source.c:
* ges/ges-track-video-test-source.h:
* ges/ges-types.h:
* ges/ges-video-test-source.c:
* ges/ges-video-test-source.h:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
Rename GESTrackVideoTestSource to GESVideoTestSource
2013-01-26 13:02:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-audio-test-source.c:
* ges/ges-audio-test-source.h:
* ges/ges-test-clip.c:
* ges/ges-track-audio-test-source.h:
* ges/ges-types.h:
* ges/ges-uri-clip.c:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
Rename GESTrackAudioTestSource to GESAudioTestSource
2013-01-26 12:40:51 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-effect-clip.c:
* ges/ges-effect.c:
* ges/ges-effect.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-track-parse-launch-effect.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/asset.c:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/check/ges/test-project.xges:
* tests/examples/ges-ui.c:
Rename GESTrackParseLaunchEffect to GESEffect
2013-01-26 12:35:19 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* docs/working-diagrams.svg:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-base-effect.c:
* ges/ges-base-effect.h:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-parse-launch-effect.h:
* ges/ges-types.h:
* ges/ges-xml-formatter.c:
* ges/ges.h:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
Rename TrackEffect to BaseEffect
2013-01-26 12:31:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-asset-clip.c:
* ges/ges-asset-track-object.c:
* ges/ges-asset-track-object.h:
* ges/ges-asset.c:
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-custom-source-clip.c:
* ges/ges-custom-source-clip.h:
* ges/ges-effect-clip.c:
* ges/ges-internal.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-test-clip.c:
* ges/ges-text-overlay-clip.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-title-clip.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-effect.c:
* ges/ges-track-element.c:
* ges/ges-track-element.h:
* ges/ges-track-filesource.c:
* ges/ges-track-image-source.c:
* ges/ges-track-operation.c:
* ges/ges-track-operation.h:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-title-source.c:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-transition.c:
* ges/ges-track.c:
* ges/ges-track.h:
* ges/ges-transition-clip.c:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* ges/ges-xml-formatter.c:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/check/ges/uriclip.c:
* tests/examples/ges-ui.c:
* tests/examples/transition.c:
Rename GESTrackObject to GESTrackElement
2013-01-25 15:51:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-effect-clip.c:
* ges/ges-effect-clip.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/effects.c:
Rename GESStandardEffectClip to GESEffectClip
2013-01-25 15:45:07 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-base-effect-clip.c:
* ges/ges-base-effect-clip.h:
* ges/ges-standard-effect-clip.c:
* ges/ges-standard-effect-clip.h:
* ges/ges-types.h:
* ges/ges.h:
Rename GESEffectClip to GESBaseEffectClip
2013-01-25 15:16:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-enums.c:
* ges/ges-timeline.c:
* ges/ges-transition-clip.c:
* ges/ges-transition-clip.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/asset.c:
* tests/check/ges/layer.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/transition.c:
* tests/examples/ges-ui.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESStandardTransitionClip to GESTransitionClip
2013-01-25 11:26:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-auto-transition.c:
* ges/ges-base-transition-clip.c:
* ges/ges-base-transition-clip.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-standard-transition-clip.c:
* ges/ges-standard-transition-clip.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/examples/ges-ui.c:
Rename GESTransitionClip to GESBaseTransitionClip
2013-01-20 12:58:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
timelineelement: Implement the notion of parenting
2013-01-17 00:58:28 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-test-clip.c:
* ges/ges-test-clip.h:
* ges/ges-timeline-test-source.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/benchmarks/timeline.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/project.c:
* tests/check/ges/text_properties.c:
* tests/examples/ges-ui.c:
* tests/examples/test1.c:
* tests/examples/thumbnails.c:
* tools/ges-launch.c:
Rename GESTimelineTestSource to GESTestSourceClip
2013-01-17 00:55:03 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-timeline-title-source.h:
* ges/ges-title-clip.c:
* ges/ges-title-clip.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/titles.c:
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
Rename GESTimelineTileSource to GESTitleClip
2013-01-17 00:53:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-text-overlay-clip.c:
* ges/ges-text-overlay-clip.h:
* ges/ges-timeline-text-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/overlays.c:
* tests/examples/overlays.c:
Rename GESTimelineTextOverlay to GESTextOverlayClip
2013-01-17 00:49:43 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-overlay-clip.c:
* ges/ges-overlay-clip.h:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/asset.c:
Rename GESTimelineOverlay to GESOverlayClip
2013-01-17 00:35:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-custom-source-clip.c:
* ges/ges-custom-source-clip.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-source-clip.c:
* ges/ges-source-clip.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-track-effect.c:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-types.h:
* ges/ges-uri-clip.c:
* ges/ges-uri-clip.h:
* ges/ges.h:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/layer.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/timelineedition.c:
Rename GESTimelineSource to GESSourceClip
And GESCustomTimelineSource to GESCustomSourceClip
2013-01-17 00:26:35 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-effect-clip.c:
* ges/ges-effect-clip.h:
* ges/ges-operation-clip.c:
* ges/ges-operation-clip.h:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-transition-clip.c:
* ges/ges-transition-clip.h:
* ges/ges-types.h:
* ges/ges.h:
Rename GESTimelineOperation to GESOperationClip
2013-01-17 00:04:41 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-standard-effect-clip.c:
* ges/ges-standard-effect-clip.h:
* ges/ges-timeline-parse-launch-effect.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/effects.c:
Rename GESTimelineParseLaunchEffect to GESStandardEffectClip
2013-01-16 23:21:01 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-enums.c:
* ges/ges-meta-container.c:
* ges/ges-standard-transition-clip.c:
* ges/ges-standard-transition-clip.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-standard-transition.h:
* ges/ges-timeline.c:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/asset.c:
* tests/check/ges/effects.c:
* tests/check/ges/layer.c:
* tests/check/ges/project.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/transition.c:
* tests/examples/ges-ui.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESTimelineStandardTransition to GESStandardTransitionClip
2013-01-16 23:16:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-meta-container.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-standard-transition.h:
* ges/ges-timeline.c:
* ges/ges-transition-clip.c:
* ges/ges-transition-clip.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/examples/ges-ui.c:
Rename GESTimelineTransition to GESTransitionClip
2013-01-16 23:11:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-effect-clip.c:
* ges/ges-effect-clip.h:
* ges/ges-meta-container.c:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-timeline-parse-launch-effect.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
Rename GESTimelineEffect to GESEffectClip
2013-01-20 12:44:57 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* bindings/python/examples/material.py:
* bindings/python/examples/simple.py:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-asset-clip.c:
* ges/ges-asset.c:
* ges/ges-extractable.c:
* ges/ges-meta-container.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-track-filesource.c:
* ges/ges-types.h:
* ges/ges-uri-asset.c:
* ges/ges-uri-asset.h:
* ges/ges-uri-clip.c:
* ges/ges-uri-clip.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/Makefile.am:
* tests/check/ges/asset.c:
* tests/check/ges/effects.c:
* tests/check/ges/project.c:
* tests/check/ges/test-project.xges:
* tests/check/ges/uriclip.c:
* tests/examples/assets.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESTimelineFileSource to GESUriClip
Conflicts:
ges/ges-pitivi-formatter.c
ges/ges-uri-clip.c
tests/check/ges/project.c
tests/check/ges/uriclip.c
2013-01-20 12:42:29 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* android/ges.mk:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-asset-clip.c:
* ges/ges-asset-clip.h:
* ges/ges-asset-file-source.c:
* ges/ges-asset-file-source.h:
* ges/ges-asset-track-object.c:
* ges/ges-asset.c:
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-base-xml-formatter.c:
* ges/ges-clip.c:
* ges/ges-clip.h:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* ges/ges-internal.h:
* ges/ges-meta-container.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-operation.c:
* ges/ges-timeline-operation.h:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-filesource.c:
* ges/ges-track-image-source.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
* ges/ges-types.h:
* ges/ges-xml-formatter.c:
* ges/ges.h:
* tests/benchmarks/timeline.c:
* tests/check/Makefile.am:
* tests/check/ges/.gitignore:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/clip.c:
* tests/check/ges/effects.c:
* tests/check/ges/filesource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/project.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/test-project.xges:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Rename GESTimelineObject to GESClip
2013-01-15 10:52:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-auto-transition.c:
* ges/ges-internal.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-element.c:
* ges/ges-timeline-element.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
* ges/ges-types.h:
* ges/ges-utils.c:
* ges/ges-xml-formatter.c:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/effects.c:
* tests/check/ges/filesource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/timelineedition.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/examples/ges-ui.c:
Add a GESTimelineElement base class
+ Port GESTrackObject and GESTimelineObject to the new baseclass
2013-02-10 12:07:48 -0500 Jean-François Fortin Tam <nekohayo@gmail.com>
* docs/libs/architecture.xml:
docs: Clarify the distinction between Tracks and Layers
2013-01-30 20:12:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-project.c:
project: Update loading asset when a URI is missing
2013-01-30 01:27:17 -0800 Kerrick Staley <mail@kerrickstaley.com>
* configure.ac:
build: replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS to fix build with automake 1.13
AM_CONFIG_HEADER is deprecated; see
https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
https://bugzilla.gnome.org/show_bug.cgi?id=692864
2013-01-28 20:46:06 +0100 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From a942293 to 2de221c
2013-01-22 18:44:00 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
configure: Properly check if PyGObject is present
And make use of the PyGObject overrides if present
2013-01-22 18:08:44 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
Bump Glib dependency to 2.34
We use new APIs (g_list_copy_deep) that appeared in GLib 2.34
2013-01-22 19:51:25 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-base-xml-formatter.c:
* ges/ges-project.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
* tests/check/ges/simplelayer.c:
Fix various printf format issues in debug messages
2013-01-15 15:09:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* common:
Automatic update of common submodule
From a72faea to a942293
2013-01-14 09:01:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
Bump GStreamer dependency version to current master (1.1.0)
2013-01-12 20:49:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitiviformatter: Handle project metadatas
2013-01-12 10:50:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.h:
* ges/ges-xml-formatter.c:
xmlformatter: Do no allow saving CONSTRUCTONLY properties
2013-01-11 19:10:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
layer: State assets we create async as loading to the project
2013-01-11 19:07:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
* tests/check/ges/project.c:
project: Track Asset that were loaded with error
2013-01-11 11:49:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-asset.c:
* ges/ges-base-xml-formatter.c:
* ges/ges-internal.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-project.c:
* ges/ges-project.h:
* ges/ges-timeline-layer.c:
* tests/check/ges/project.c:
project: Handle assets that are being loaded
API:
ges_project_get_loading_assets
2013-01-11 15:26:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.h:
* ges/ges-timeline.h:
ges: Documentations fixes
2013-01-10 18:50:54 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/Makefile.am:
* ges/ges-auto-transition.c:
* ges/ges-auto-transition.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* tests/check/ges/layer.c:
Reimplement the auto-transition feature
+ Actually implement unit tests
2013-01-10 18:09:23 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Make the GESTrack (parent track) a GObject property
2013-01-10 18:01:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Minor refactoring
2013-01-10 13:32:15 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Avoid recreating the moving_tlobjs when unecessary
2013-01-10 12:41:13 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
Misc debug message enhancements
2013-01-10 12:24:20 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Keep track of whether updates are enabled or not
Check if we want to track Track-s enable status and update our status according
to that
2013-01-10 11:58:59 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
layer: Properly emit the notify signal when auto_transition changes
2013-01-10 11:39:46 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Track TrackObject-s by layer
2013-01-10 11:18:46 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/test-utils.h:
tests: Add a macro for type checking
2013-01-10 11:15:32 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
* ges/ges-utils.c:
utilities: Make internal utilities instead of copy/pasting functions
2013-01-10 11:01:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* .gitignore:
gitignore: Ignore anjuta files
2013-01-05 12:02:03 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
* tests/Makefile.am:
* tests/benchmarks/Makefile.am:
* tests/benchmarks/timeline.c:
Benchmark rippling
2013-01-04 13:11:51 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
* ges/ges-timeline-layer.c:
Move LAYER_HEIGHT definition from -timeline-layer.c c to -internal.h
2013-01-04 13:04:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset-track-object.c:
asset-track-object: Minor doc fixing
2013-01-03 11:43:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Remove dead macros
2013-01-03 11:41:48 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Use g_sequence_sort_changed when appropriate
2013-01-03 10:34:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Keep in cache the GSequenceIter so we get a faster acces to them
2012-12-30 22:37:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Plug some leaks
2012-12-29 19:36:07 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/project.c:
test: project: Fix various leaks
2012-12-29 19:34:29 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-base-xml-formatter.c:
* ges/ges-xml-formatter.c:
xmlformatter: Plug various leaks
2012-12-29 18:24:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
* ges/ges-track.c:
Misc nitpick fixing
2012-12-29 18:04:25 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
project: Plug various leaks.
2012-12-29 18:02:35 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-meta-container.c:
meta-container: Plug various leaks
2012-12-29 17:58:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
asset: Do not allow proxying over the same currently proxied asset
2012-12-29 17:54:51 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
asset: Fix some leaks
2012-12-29 17:52:42 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
* ges/ges-custom-timeline-source.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-standard-transition.c:
* ges/ges-track-parse-launch-effect.c:
asset: Avoid leaking the GParameter array and content
2012-12-29 14:10:11 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset-file-source.c:
assetfilesource: Fix some leaks
2012-12-29 14:09:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/examples/concatenate.c:
tests: Remove useless mutex
2012-12-29 14:08:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* .gitignore:
Add some more gitignore
2012-12-28 19:10:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
* ges/ges-xml-formatter.c:
Refrase formatters descriptions
2012-12-28 19:06:30 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: First check the extension when checking if can load URI
2012-12-28 11:40:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-project.c:
project: Run the vmethod in first stage for the "loaded" signal
This is most probably what sublcasses will need
2012-12-24 09:29:48 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-screenshot.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
tests: Fix misc issues
Now GST_CAPS_ANY is a singleton, it is not returning a newly created caps
anymore
2012-12-24 09:29:04 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/Makefile.am:
* ges/Makefile.am:
* tests/check/Makefile.am:
Allow checking code coverage
2012-12-21 20:17:41 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-asset-file-source.c:
* ges/ges-asset-timeline-object.c:
* ges/ges-asset-track-object.c:
* ges/ges-asset.c:
* ges/ges-custom-timeline-source.c:
* ges/ges-extractable.c:
* ges/ges-project.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-effect.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-operation.c:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-track-effect.c:
* ges/ges-track-object.c:
Misc documentation fixes
Using "#" a in short_description screws the display
2012-12-21 20:48:03 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-asset-file-source.c:
* ges/ges-asset-file-source.h:
* ges/ges-asset-track-object.c:
* ges/ges-asset-track-object.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline.c:
* ges/ges-track-filesource.c:
* ges/ges-types.h:
* ges/ges.h:
Implement a GESAssetTrackObject class
+ Addapt the rest of the code to make use of it
2012-12-21 18:51:26 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-asset-file-source.c:
* ges/ges-asset-file-source.h:
* ges/ges-asset-timeline-object.c:
* ges/ges-asset-timeline-object.h:
* ges/ges-meta-container.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* ges/ges-types.h:
* ges/ges.h:
Implement a GESAssetTimelineObject class
+ Make GESAssetFileSource a subclass of it
+ Remove ges_asset_filesource_get_supported_type as it is now in GESAssetTimelineObject
+ Remove the GES_META_TIMELINE_OBJECT_SUPPORTED_FORMATS as it is useless now
2012-12-21 14:28:16 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-asset-file-source.c:
* ges/ges-asset-file-source.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-track-filesource.c:
* ges/ges-types.h:
Add a GESAssetTrackFileSource class and make use of it all around
2012-12-20 20:23:54 -0300 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-image-source.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-title-source.c:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-transition.c:
* ges/ges-track.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/effects.c:
* tests/check/ges/filesource.c:
* tests/check/ges/overlays.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
Allow applications to select to which track a track object should be added
Modifies some API:
ges_timeline_object_create_track_objects now take a GESTrackType instead of a
GESTrack as second argument, and return a GList instead of a boolean
ges_timeline_object_create_track_object now take a GESTrackType instead of a
GESTrack as second argument
2012-12-20 20:21:51 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-enums.c:
* ges/ges-enums.h:
Add a utility method to get the name of a GESTrackType
API:
ges_track_type_name
2012-12-20 14:58:35 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
timelinepipeline: Properly reset #GESTrack caps when switching back to playback
2012-12-20 11:28:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Properly popullate the tracks field with GESTrack-s
+ add priv_tracks private field that contained TrackPrivate structures
We now have 2 list containing our tracks, one with TrackPrivate structures, and one the
GESTrack-s themselves.
2012-12-21 10:43:41 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* .gitignore:
Add some ignored files
2012-12-20 10:17:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
Revert "Revert "ges: timeline-pipeline: Remove playsink send_event hack""
This reverts commit 094669391ddf8a29b3a1d1168a78cc50c20341b4.
Conflicts:
ges/ges-timeline-pipeline.c
2012-12-17 22:35:28 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-base-xml-formatter.h:
* ges/ges-enums.h:
* ges/ges-extractable.h:
* ges/ges-formatter.h:
* ges/ges-meta-container.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-types.h:
Misc documentation fixing
2012-12-05 08:51:48 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Rework the _save_to_uri method to give more debug information
2012-12-17 17:06:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Handle project when adding a GESTimelineObject directly
2012-11-29 17:07:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Implement the Extractable type
We can imagine user implemts more Layer type, it could be usefull for formatters
to instanciate through a GESMaterial
2012-11-27 13:54:54 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.h:
timeline-object: Reindent header file
2012-11-27 13:53:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
* ges/ges.c:
docs: Minor documentation fixes
2012-11-27 13:52:59 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
internale: Add the G_GNUC_INTERNAL attribute to all internal methods
2012-09-09 21:25:54 -0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* tests/check/ges/asset.c:
tests: Add testcase for GESAsset
2012-11-27 13:52:20 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-asset.c:
* ges/ges-enums.c:
* ges/ges-timeline-transition.h:
ges: Create assets for all GESTimelineStandardTransition on ges_init()
+ Add some testsuite
2012-11-27 12:53:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges.c:
ges: Make sure not to initialize twice
2012-11-27 12:18:27 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
timelineobject: Add a method to add a GESAsset
+ Avoid to assume function arguments are correct before actually testing
them in ges_timeline_object_add_track_object
API: ges_timeline_object_add_asset
2012-11-26 17:27:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-standard-transition.c:
timeline-standard-transition: Override the GESExtractable implementation
Standard transition material have the vtype property as ID, it has the particularity
that the ID can be changed at runtime
+ Implement tests to make sure it behaves properly
2012-11-26 17:24:43 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
timelinefilesource: Remove deprectated methods
Removed API:
ges_timeline_filesource_get_supported_formats
2012-11-24 00:09:28 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
timeline: Make use of the Project API for timeline saving
API:
* Add a formatter_type paramatter to ges_timeline_save_to_uri
2012-09-23 02:13:38 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
* tests/check/ges/project.c:
* tests/check/ges/test-project.xges:
* tests/check/ges/test.xptv:
tests: Add GESProject tests
2012-11-19 13:24:03 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-base-xml-formatter.c:
* ges/ges-base-xml-formatter.h:
* ges/ges-internal.h:
* ges/ges-xml-formatter.c:
* ges/ges-xml-formatter.h:
* ges/ges.c:
* ges/ges.h:
xml-formatter: Implement a GESXmlFormatter
2012-11-18 20:20:47 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Set the gap element creator function when tracks are using raw audio/video
2012-11-18 20:19:01 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-pipeline.c:
pipeline: Minor documentation fixes
2012-11-18 12:46:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-custom-timeline-source.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* tests/check/ges/layer.c:
Check in TimelineObject what tracks are supported before creating TrackObject-s
We used to do it in TimelineFileSource which does not make sense.
At the same time we set AUDIO | VIDEO as default supported types as it is more
likely to be what subclasses support. If it is not the case, they need to
specify it as shown in ges-timeline-custom-timeline-source.c
+ Fix the tests accordingly
2012-11-20 18:23:59 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Implement the GESMetaContainerInterface
2012-09-23 02:11:46 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Implement the GESExtractable interface
2012-11-11 13:51:45 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Make timeline->track and timeline->layers public fields
2012-12-17 19:26:23 -0300 Thibault Saunier <thibault.saunier@collabora.com>
formatter: Make it work with GESProject
+ Compile new GESProject code
The formatter and projects should work together, and the user will in the end not need
the GESFormatter API in most cases. Start making that happening
Update the GESPitiviFormatter to the new behaviour and remove APIs that became
obselete
API:
+ Adds:
* Pass the GESFormatterClass to can_load/save_uri vmethods
* Add an @overwrite argumenent to ges_formatter_save_to_uri and the
corresponding vmethod
* Add name, description, extension, mimetype, version, rank metadatas
to GESFormatterClass
+ Removes:
* ges_pitivi_formatter_set_sources:
* ges_pitivi_formatter_get_sources:
2012-09-24 22:24:42 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
formatter: Implement the GESExtractable interface
Make it a GInitially unowned, GESProject will become the owner
2012-09-21 15:48:56 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/audio_only.ogg:
* tests/check/ges/audio_video.ogg:
* tests/check/ges/filesource.c:
tests: First filesource test port to assets
2012-09-20 12:16:38 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/examples/test1.c:
Examples: Use GESTimelineTestSource instead of GESCustomTimelineSource in test1
2012-09-02 15:14:27 +0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-internal.h:
* ges/ges-project.c:
* ges/ges-project.h:
* ges/ges-types.h:
* ges/ges.h:
project: Implement GESProject
Do not build yet, waiting for everythnig to be in place before doing so
Co-Authored-By: Volodymyr Rudyi <vladimir.rudoy@gmail.com>
2012-11-21 10:22:41 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Implement the GESMetaContainer interface
2012-11-20 18:25:31 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Implement the GESMetaContainerInterface
2012-11-20 00:29:23 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timeline-object: Implement the GESMetadataContainer interface
2012-11-19 23:42:47 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-parse-launch-effect.c:
trackobject: Implement the GESExtractable interface
2012-09-19 22:36:38 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-test-source.c:
docs: Update GESTimelineTestSource documentation
2012-09-18 14:42:58 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
customtimelinesource: Override Extractable
API: ges_material_custom_timeline_source_new (helper method)
2012-09-18 14:40:51 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/examples/material.py:
* bindings/python/examples/simple.py:
bindings: Add simple python examples
2012-09-14 01:05:45 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* Makefile.am:
* bindings/Makefile.am:
* bindings/python/Makefile.am:
* bindings/python/examples/Makefile.am:
* bindings/python/gi/Makefile.am:
* bindings/python/gi/__init__.py:
* bindings/python/gi/overrides/GES.py:
* bindings/python/gi/overrides/Makefile.am:
* bindings/python/gi/overrides/__init__.py:
* configure.ac:
bindings: Start implementing overrides for python
2012-09-09 21:26:49 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/examples/concatenate.c:
example: Port the concatenate example to assets
2012-09-09 21:26:15 -0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* tests/examples/Makefile.am:
* tests/examples/assets.c:
examples: Add basic examples of asset
2012-12-17 17:05:56 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline.c:
ges: Implement the ges_timeline_layer_add_asset method
+ Remove GstDiscoverer related code in GESTimeline as we do not need it anymore
+ Refactor the ges_timeline_layer_add_object method to make sure it is still working as intended
API:
ges_timeline_layer_add_asset
2012-09-09 21:21:21 -0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* ges/ges-timeline-file-source.c:
timelinefilesource: Override default GESExtractable interface implementation
2012-09-09 21:20:46 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
timelineobject: Implement the GESExtractable interface
2012-09-09 21:15:17 -0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-asset-file-source.c:
* ges/ges-asset-file-source.h:
* ges/ges-asset.c:
* ges/ges-internal.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
ges: Implement GESAssetFileSource
+ Generate the documentation
+ Make the new Asset infrastructure compile
Co-Authored-By: Thibault Saunier <thibault.saunier@collabora.com>
2012-09-09 21:12:06 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-extractable.c:
* ges/ges-extractable.h:
* ges/ges-internal.h:
* ges/ges-types.h:
* ges/ges.h:
ges: Implement the GESExtractable interface
+ Generate the documentation
Note: Do not compile (add to Makefile.am) for now as we are missing pieces at that point
Co-Authored-By: Volodymyr Rudyi <vladimir.rudoy@gmail.com>
2012-08-31 19:36:37 -0700 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-asset.c:
* ges/ges-asset.h:
* ges/ges-internal-enums.h:
* ges/ges-internal.h:
* ges/ges-types.h:
* ges/ges.h:
ges: Implement GESAsset
+ Generate the documentation
Note: Do not compile (add to Makefile.am) for now as we are missing pieces at that point
Co-Authored-By: Thibault Saunier <thibault.saunier@collabora.com>
2012-12-17 15:27:52 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/design/asset.txt:
design: Add asset design document
Co-Authored-By: Volodymyr Rudyi <vladimir.rudoy@gmail.com>
2012-08-10 12:58:13 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
filesource: Make the uri property CONSTRUCT_ONLY
This is the way it should always have been.
2012-07-21 17:12:08 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* .gitignore:
gitignore: Ignore some more files
2012-12-17 15:17:50 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/layer.c:
tests: implement GESMetaContainer tests
Co-Authored-By: Paul Lange <palango@gmx.de>
2012-12-17 15:24:52 -0300 Paul Lange <palango@gmx.de>
* ges/ges-timeline-layer.c:
timeline-layer: implement the GESMetaContainer interface
2012-12-17 15:23:39 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-meta-container.c:
* ges/ges-meta-container.h:
* ges/ges.c:
metacontainer: Finnish GESMetaContainer implementation
2012-11-26 13:31:17 -0300 Paul Lange <palango@gmx.de>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-meta-container.c:
* ges/ges-meta-container.h:
* ges/ges.c:
* ges/ges.h:
implement the GESMetaContainer interface
2012-05-14 22:14:37 +0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/design/metadata.txt:
docs: Added metadata design doc
2012-11-23 11:44:08 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Fix track-added Callback parametters
2012-12-01 13:56:37 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/test-utils.h:
test-utils: Add some more utilities
2012-11-18 20:23:13 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/test-utils.c:
Minor fixes to the test utils
2012-12-01 13:51:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timeline-object: Edit can only work work with GESTrackSource
2012-11-23 23:52:32 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-pitivi-formatter.c:
formatter: Remove obselete APIs
Removed APIs:
ges_formatter_update_source_uri
GESFormatter::source-moved
ges_formatter_update_source_uri
ges_formatter_load
ges_formatter_save
ges_formatter_set_data
ges_formatter_clear_data
ges_formatter_get_data
GESFormatterLoadMethod
GESFormatterSaveMethod
This is now GESProject's role
2012-11-23 23:51:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-keyfile-formatter.c:
* ges/ges-keyfile-formatter.h:
* ges/ges-timeline.c:
* ges/ges.c:
* ges/ges.h:
* tests/check/Makefile.am:
* tests/check/ges/save_and_load.c:
* tests/examples/ges-ui.c:
Remove the GESKeyFileFormatter
It was using deprecated URI, and can not be used in real life anymore.
Also remove the ges_formatter_default_new method ges_formatter_new_for_uri
that are useless now
2012-11-19 14:19:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitiviformatter: Some minor restrtucturation
2012-12-01 13:53:06 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Force video/x-raw in raw gaps
2012-12-17 12:27:54 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Keep track of GSequenceIter for each GESTrackObject
This way we do not have to look for them in the sequence itself, and
make things simpler
2012-12-17 13:51:49 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
timelineobject: Give a direct access to the list of TrackObject
Avoid to have to copy the list each time we want to access it
2012-12-19 10:37:02 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/design/effects.txt:
* docs/libs/ges-sections.txt:
* ges/ges-pitivi-formatter.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/effects.c:
trackobject: Properly rename get/set_child_property
We used to have a ges_track_object_get/set_child_property that was in
fact letting user set/get various properties at once, rename it to
get/set_properties, and implement:
API:
ges_track_object_get_child_property (GESTrackObject *object, const gchar
*property_name, GValue * value);
ges_track_object_set_child_property (GESTrackObject *object, const gchar
*property_name, GValue * value);
2012-12-18 19:47:50 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Some GI annotation fix
2012-11-25 16:11:17 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/Makefile.am:
docs: Add make upload
2012-11-19 11:31:33 +0000 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 6bb6951 to a72faea
2012-11-17 00:10:20 +0000 Tim-Philipp Müller <tim@centricular.net>
* ges/ges-track-effect.c:
ges-track-effect: don't use deprecated API
2012-11-04 00:25:20 +0000 Tim-Philipp Müller <tim@centricular.net>
* COPYING:
* COPYING.LIB:
* docs/design/gstencodebin.h:
* docs/design/gstprofile.h:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-internal.h:
* ges/ges-keyfile-formatter.c:
* ges/ges-keyfile-formatter.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
* ges/ges-screenshot.c:
* ges/ges-screenshot.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-effect.c:
* ges/ges-timeline-effect.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-operation.c:
* ges/ges-timeline-operation.h:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-timeline-parse-launch-effect.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-standard-transition.h:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-test-source.h:
* ges/ges-track-audio-transition.c:
* ges/ges-track-audio-transition.h:
* ges/ges-track-effect.c:
* ges/ges-track-effect.h:
* ges/ges-track-filesource.c:
* ges/ges-track-filesource.h:
* ges/ges-track-image-source.c:
* ges/ges-track-image-source.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-operation.c:
* ges/ges-track-operation.h:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-parse-launch-effect.h:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-test-source.h:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
* ges/ges-track.c:
* ges/ges-track.h:
* ges/ges-types.h:
* ges/ges-utils.c:
* ges/ges-utils.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/effects.c:
* tests/check/ges/filesource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/save_and_load.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineedition.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/examples/concatenate.c:
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Fix FSF address
2012-10-31 14:49:44 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/Makefile.am:
ges: fix g-i search path for GstAudio GstVideo GstTag and GstBase
2011-12-23 14:07:21 +0100 Xabier Rodriguez Calvar <xrcalvar@igalia.com>
* ges/ges-timeline-pipeline.c:
timeline: Added timeline and mode as properties
2011-11-11 17:29:20 +0100 Xabier Rodriguez Calvar <xrcalvar@igalia.com>
* ges/ges-timeline-pipeline.c:
timeline: Adding GObject property API to get/set preview audio and video sinks
2011-11-11 17:09:34 +0100 Xabier Rodriguez Calvar <xrcalvar@igalia.com>
* ges/ges-timeline-pipeline.c:
timeline: Initialize as NULL the preview sinks when getting them.
This way, if there is a problem getting the properties from the
playsink, we do not return garbage.
2012-10-06 15:02:54 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 6c0b52c to 6bb6951
2012-09-25 15:07:17 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges.h:
ges: Update reported version to 1.0
2012-07-20 14:11:56 +0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
timeline: Added 'const' modifier
2012-09-09 21:27:08 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-title-source.c:
titlesource: Use GST_DEBUG_OBJECT when appropriate
2012-09-22 18:51:46 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.h:
* ges/ges-timeline-object.h:
* ges/ges-track-object.h:
* ges/ges-types.h:
Reset ABI for 1.0 and ensure that extensible baseclasses are extensible enough
2012-09-22 13:10:55 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/backgroundsource.c:
* tests/check/ges/filesource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/test-utils.h:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
tests: Move common code to test-utils
2012-09-23 02:24:14 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/save_and_load.c:
* tests/check/ges/test.xptv:
* tests/check/ges/wrong_test.xptv:
tests: Implement tests for ges_formatter_can_load_uri
2012-09-23 02:23:20 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
* tests/check/ges/test-utils.c:
* tests/check/ges/test-utils.h:
tests: Add some utils for test writing
2012-09-23 02:07:04 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitiviformatter: Implement can_load_uri vmethod
2012-09-23 02:06:44 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Implement a usefull version of ges_formatter_can_load_uri
2012-09-23 02:05:42 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges.c:
* tests/check/ges/save_and_load.c:
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
formatter: Add GError everywhere needed in the API
We should give as much information as possible to the user when serialization/deserialization doesn't work.
2012-09-22 13:27:20 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Plug a leak in the movecontext code
2012-09-22 16:12:05 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 4f962f7 to 6c0b52c
2012-09-07 12:58:19 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ges/ges-timeline-pipeline.c:
timeline-pipeline: use downstream block probe to avoid deadlock on duration query
2012-09-06 16:58:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ges/ges-timeline-pipeline.c:
timeline-pipeline: Clean the blocked pad
We do need to cleanup the pad now, otherwise the probe will get remove a
second time in pad_removed_cb causing an assertion.
2012-08-26 15:35:01 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/save_and_load.c:
* tests/check/ges/titles.c:
tests: Fix tests
In TimelineTitleSource We do not add a TrackAudioTestSource in the audio track
anymore as it was a hack to work around the fact that we used not to have gap
support, now we do, remove related tests
2012-08-16 11:20:44 +0100 Matas Brazdeikis <matas@brazdeikis.lt>
* docs/libs/ges-sections.txt:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
title-source: add background color option
2012-08-13 16:00:28 +0100 Matas Brazdeikis <matas@brazdeikis.lt>
* ges/ges-timeline-title-source.c:
timeline-title-source: remove audio-test-source
2012-08-22 13:35:27 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 668acee to 4f962f7
2012-08-10 12:39:10 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-effect.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline.c:
* ges/ges-track-effect.c:
* ges/ges-track-filesource.c:
* ges/ges-track-image-source.c:
* ges/ges-track-object.c:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-video-transition.c:
* ges/ges-track.c:
Misc documentation fixing
2012-08-14 20:33:57 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
GI: Fix some annotations in TrackObject
2012-08-09 10:14:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/thumbnails.c:
examples: Use GRegex instead of POSIX regex
They are not available on Windows.
2012-08-05 16:44:22 +0100 Tim-Philipp Müller <tim@centricular.net>
* common:
Automatic update of common submodule
From 94ccf4c to 668acee
2012-07-28 21:45:03 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-object.c:
* ges/ges-utils.c:
ges: Remove useless and error prone 'transfer full' annotations
transfer full is default and there is currently a bug in GES when constructor
are declared as transfer full
2012-07-23 08:48:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 98e386f to 94ccf4c
2012-07-01 20:54:42 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge remote-tracking branch 'origin/0.10'
Conflicts:
common
2012-07-01 20:03:37 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
docs: Add the new ges_formatter_emit_loaded API to the docs
+ Fix sections
2012-07-01 19:57:30 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-pitivi-formatter.c:
formatter: Make the emit_loaded a real method and not a virtual method
+ Modify formatter subclasses accordingly
API:ges_formatter_emit_loaded
This API wasn't released so it could still be changed
2012-07-01 19:39:57 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitivi-formatter: Make use of the Formatter:timeline protected field
2012-07-01 19:34:53 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
formatter: Add a timeline protected field
2012-04-08 00:30:03 +0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* ges/ges-pitivi-formatter.c:
ges-pitivi-formatter: Fixed loading of projects with empty timeline
Because 'project-loaded' signal was triggered from track object loading
callback in case with projects that have empty timeline this signal was
never emitted.
2012-04-08 00:08:43 +0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* ges/ges-formatter.c:
ges-formatter: Removed assert to allow saving projects with empty timeline
Removed assert in ges-formatter.c to allow saving projects with empty timeline.
2012-06-25 10:32:36 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
gestimelinepipeline: Fix for gst_element_make_from_uri() API changes
2012-06-08 15:07:15 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Automatic update of common submodule
From 03a0e57 to 98e386f
2012-06-08 14:27:34 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Automatic update of common submodule
From b811047 to 3baf58a
2012-06-06 18:20:59 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Automatic update of common submodule
From 1fab359 to 03a0e57
2012-06-06 18:20:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Automatic update of common submodule
From b098abb to b811047
2012-06-01 10:31:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Automatic update of common submodule
From f1b5a96 to 1fab359
2012-06-01 10:23:17 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Automatic update of common submodule
From 96f075b to b098abb
2012-05-31 13:12:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 92b7266 to f1b5a96
2012-05-30 13:41:17 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* tests/examples/Makefile.am:
examples: Fix linking by passing -export-dynamic in the right variable
2012-05-30 12:49:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From ec1c4a8 to 92b7266
2012-05-30 12:42:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 1e6c5ea to 96f075b
2012-05-30 12:33:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From ff4cad1 to 1e6c5ea
2012-05-30 11:27:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 3429ba6 to ec1c4a8
2012-05-30 11:27:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 11f0cd5 to ff4cad1
2012-05-30 11:24:29 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac:
configure: Don't check for OBJC compiler
2012-05-30 11:24:29 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac:
configure: Don't check for OBJC compiler
2012-05-27 22:55:12 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Make sure to remove the proper TrackObject from the GSequence
2012-05-27 22:55:12 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Make sure to remove the proper TrackObject from the GSequence
2012-05-26 17:41:43 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/backgroundsource.c:
tests: Fix backgroundsource test
2012-05-26 17:00:50 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge remote-tracking branch 'origin/0.10'
Conflicts:
bindings/python/ges.defs
ges/ges-screenshot.c
ges/ges-track-video-transition.c
2012-05-21 19:38:10 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Do not use meaningless offset values when snapping
2012-05-21 18:10:29 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Disable updates when loading a project
2012-05-21 12:45:00 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.c:
videotransition: Some explanations about the invert property
2012-05-21 13:05:53 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.c:
videotransition: Misc cleanup in the smpte/crossfade transition type switches
2012-05-21 13:05:14 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.c:
videotransition: Do not wait pad to be blocked before switching transitions
... from smpte to crossfad and the other way around
This avoid useless async operations
2012-05-18 13:17:17 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Move all callbacks to the callback section of the file
2012-05-18 13:16:50 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Make the update property a GObject property
API: timeline::update property
2012-05-18 11:13:11 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Try to resnap at same snapping point before calculating new value
2012-05-18 10:33:44 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Avoid to recalculate the moving context unecessarly
2012-05-18 10:28:26 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Create a debug logging category for the timeline
2012-05-16 15:53:07 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Properly set TimelineFileSource-s duration and max duration
When we get the information of duration of files after discoverying them,
use that information to set the values on the TimelineFileSource-s
2012-05-15 14:38:38 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Rework the way we calculate in which layer a TrackObject is
2012-05-09 12:12:38 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
* ges/ges-screenshot.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track-video-transition.c:
docs: Misc documentation fixing
2012-05-09 11:51:33 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/backgroundsource.c:
tests: Add basic gaps tests
2012-05-09 11:45:02 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-track.c:
* ges/ges-track.h:
track: Properly fill gaps
API: GESCreateElementForGapFunc Virtual method type
API: ges_track_set_create_element_for_gap_func
2012-05-09 11:20:24 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Restructurate file so we have private method and API properly separeted
2012-05-16 12:23:52 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
track: Use a GSequence to keep the sorted list of TrackObject-s
Use a GSequence instead of a GList to optimise the process.
Conflicts:
ges/ges-track.c
2012-05-16 12:59:33 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Make use of our own knowledge of the timeline duration
Do not use each Track durations as it end going in loop as we have the Tracks
that need to know about timeline's duration to create or not gaps in the end and
then the timeline references on Tracks duration for its duration. We have this
information locally so just make proper use of it.
2012-05-17 20:49:01 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Add a method to get the timeline duration
+ Bind it in python
API: ges_timeline_get_duration
2012-05-13 15:59:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From dc70203 to 3429ba6
2012-05-10 14:56:34 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge remote-tracking branch 'origin/0.10'
2012-05-10 12:40:23 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
* ges/ges-track.c:
track-object: Keep a reference to our gnlobject
Avoid refering to an object that doesn't exists and segfault in some cases.
We do not need to increase the reference to the gnlobj when the trackobject
is removed from a track because the TrackObject as its own reference and will
handle the disposal gracefully.
Add some guard around related APIs
2012-05-08 19:34:48 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Avoid segfault when debug logging
2012-05-07 16:11:26 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-track-video-transition.c:
ges: fix printf arguments in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=675547
2012-05-06 18:52:25 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-video-transition.c:
track-video-transition: Make the invert property management coherent
2012-05-06 04:52:40 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-video-transition.c:
track-video-transition: Fix set_inverted
2012-05-05 13:00:49 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge remote-tracking branch 'origin/0.10'
Conflicts:
bindings/python/ges.defs
ges/ges-track-video-transition.c
2012-05-05 12:31:28 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
track-object: Set minimum value of max-duration to 0
GST_CLOCK_TIME_NONE was nonsense
Minor documentation fixing on the way
2012-05-03 15:41:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
ges: Remove invalid ' < 0' checks
It's an unsigned value, it will never be < 0.
2012-05-02 23:56:35 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track.c:
Do no check if GLib >2.26 as we depend on GLib 2.28
2012-05-02 23:44:31 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.c:
track-video-transition: Properly emit notify for the invert and border properties
2012-05-02 23:43:50 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.c:
track-video-transition: Expose the transition type as a GObject property
API: GESTrackVideoTransition::transition-type property
2012-05-03 03:35:16 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-video-transition.c:
track-video-transition: expose border and inverted as GObject properties
2012-05-03 02:44:00 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* bindings/python/ges.defs:
python : binds the getter and setter for the "inverted" property
2012-05-03 02:28:41 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* docs/libs/ges-sections.txt:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
track-video-transition: Expose the invert property from smpte
Also, add/fixup some doc
API: ges_track_video_transition_get_inverted
API: ges_track_video_transition_set_inverted
2012-05-02 22:03:51 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge remote-tracking branch 'origin/0.10'
Conflicts:
bindings/python/ges.defs
ges/ges-track-video-transition.c
2012-05-02 18:38:42 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.c:
track-video-transition: Reuse interpollation setting functions when possible
2012-05-02 18:07:01 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-video-transition.h:
track-video-transition: Reindent header
2012-05-02 18:04:54 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
track-video-transition: Add a way to get current border value
Add some documentation for the border property
Change the border value in set_border to a guint as the value can be negative
API: ges_track_video_transition_get_border
2012-05-02 00:27:31 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* docs/libs/Makefile.am:
build: Fixes distclean
2012-05-01 23:42:47 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-video-transition.c:
track-video-transition: Return pending type in transition_get_type when needed
2012-05-01 16:01:39 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* bindings/python/ges.defs:
python: Binds the "set_border" function
2012-05-02 01:09:07 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
track-video-transition: expose the border property of smptealpha
API: ges_track_video_transition_set_border
2012-05-02 01:08:08 +0200 Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
* ges/ges-track-video-transition.c:
* tests/check/ges/transition.c:
ges-track-video-transition: Enables switching from crossfade to smpte and vice versa
Fix the tests properly
2012-05-02 08:44:25 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: replace home-grown version of gst_filename_to_uri()
and remove superfluous check if file is readable with
fopen. Code appears to also want to accept URIs, so this
doesn't work so well, and should probably be done differently
anyway if required.
https://bugzilla.gnome.org/show_bug.cgi?id=674296
2012-04-17 19:18:44 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
* tools/ges-launch.c:
ges-launch: use GRegex instead of POSIX regex
http://bugzilla-attachments.gnome.org/attachment.cgi?id=212249
2012-04-17 19:18:21 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-track-title-source.c:
ges: fix some format strings in debug messages
https://bugzilla.gnome.org/show_bug.cgi?id=674265
2012-05-01 19:16:42 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-track-text-overlay.c:
* ges/ges-track-title-source.c:
ges: fix some not entirely correct casts for vararg function arguments
2012-05-01 19:06:20 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-track-video-transition.c:
track-video-transition: update for videomixer pad template name change
2012-05-01 19:05:51 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/test2.c:
* tests/examples/test3.c:
* tests/examples/test4.c:
* tests/examples/text_properties.c:
* tests/examples/transition.c:
examples: create URIs properly from filenames
2012-05-01 18:50:34 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* .gitignore:
* tests/check/ges/.gitignore:
* tools/.gitignore:
.gitignore: ignore more
2012-05-01 18:48:57 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges.c:
ges: fix gnonlin version check
2012-05-01 18:43:02 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-track-audio-transition.c:
track-audio-transition: fix adder sink pad template name
2012-04-18 18:34:01 +0400 Руслан Ижбулатов <lrn1986@gmail.com>
* ges/ges-timeline-pipeline.c:
timeline-pipeline: fix src pad request template for tee
https://bugzilla.gnome.org/show_bug.cgi?id=674339
2012-04-25 17:53:38 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge remote-tracking branch 'origin/0.10'
Conflicts:
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
configure.ac
ges/ges-timeline.c
2012-04-25 17:09:19 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-enums.c:
* ges/ges-enums.h:
docs: Add some more docs about editing mode
Also add the documentation "Section" into ges-enum.c so the file documentation ar
actualy taken into account in the final generated documentation.
2012-04-25 14:55:46 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Rework snapping signaling so it is easier to use
API: GESTimeline::snap-started signal
API: GESTimeline::snap-ended signal
(This code has not been released so we can still change the API)
2012-04-23 20:17:42 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
* ges/ges-track-object.c:
trackobject: Take into account the max duration when trying to set a new duration
Change its default value to GST_CLOCK_TIME_NONE instead of 0.
(unreleased code so it still can be changed)
2012-04-23 19:20:18 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Add API guards all around
2012-04-23 19:17:51 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-internal.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
trackobject: Add the copy method to the API
Add documentation and plug a leak at the same time.
API: ges_track_object_copy
2012-04-23 19:10:16 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timelineobject: Ignore notifies when needed
2012-04-22 15:24:25 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
timelineobject: Fix wrong naming when connection to in-point notify
inpoint -> in-point
2012-02-10 16:58:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges-types.defs:
* bindings/python/ges.defs:
* bindings/python/ges.override:
python: Bind the new Timeline editing mode API
2012-04-22 13:09:11 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-source.c:
timelineobject: Make changing start/duration sensible to snapping
Adapt the documentation so users are aware of the behaviour
Conflicts:
ges/ges-timeline-object.c
2012-04-23 20:55:27 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Minor documentations fixes
2012-04-23 20:54:15 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/Makefile.am:
* tests/check/ges/timelineedition.c:
tests: Add a testsuite for the new timeline edition API
2012-04-23 20:52:45 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* configure.ac:
* docs/libs/ges-sections.txt:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-internal.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/basic.c:
ges: Add a timeline edition mode API
+ timeline: Add a snapping-distance property
+ Bump the GLib dependency to 2.28 in the mean time as we need some functions from GSequence that only landed
+ Update the testsuite accordingly
API: GESTimeline:snapping-distance property
API: ges_timeline_object_edit
API: ges_timeline_object_ripple
API: ges_timeline_object_ripple_end
API: ges_timeline_object_roll_start
API: ges_timeline_object_roll_end
API: ges_timeline_object_trim_start
API: ges_track_object_edit
API: GESEdge enum
API: GESEditMode enum
2012-04-20 20:05:46 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/timelineobject.c:
tests: Add a basic test for the timeline_object_split method
2012-04-20 19:22:56 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
timelineobject: Make the 'position' argument of the split method a guint64 not gin64
This makes more sense to be a guint64 as it actually is a GstClockTime,
and this way we keep the API concistent.
(This code has not been release so we can still change the API.)
2012-04-20 19:19:49 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timelineobject: Reimplement properly the splitting method
2012-04-20 19:02:19 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timelineobject: Misc API guard fixes
2012-04-19 00:34:59 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-internal.h:
* ges/ges-track-object.c:
track-object: Add method to copy a TrackObject
API: ges_track_object_copy
2012-04-17 18:42:41 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
* ges/ges-track.c:
ges-track-object: Make possible to add a track already containing a gnlobject to a track
2012-04-23 14:40:26 -0300 Thiago Santos <thiago.sousa.santos@collabora.com>
* ges/ges-timeline-pipeline.c:
ges-timeline-pipeline: add todo to remember to remove hack
Remove playsink hack once we depend on gst-plugins-base 0.10.37
(next gst-plugins-base release)
2012-04-23 14:38:31 -0300 Thiago Santos <thiago.sousa.santos@collabora.com>
* ges/ges-timeline-pipeline.c:
Revert "ges: timeline-pipeline: Remove playsink send_event hack"
This reverts commit 54aac450dab9ac052f2c0a913bfba5f77c1670ba.
We need this hack until we depend on gst-p-base 0.10.36
2012-04-20 14:18:18 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
Port to the new GMutex API
2012-04-16 09:12:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 6db25be to dc70203
2012-04-13 13:59:17 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* autogen.sh:
* configure.ac:
* ges/Makefile.am:
configure: Modernize autotools setup a bit
Also we now only create tar.bz2 and tar.xz tarballs.
2012-04-13 13:39:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 464fe15 to 6db25be
2012-04-07 22:31:23 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge branch '0.10'
Conflicts:
bindings/python/ges.defs
2012-03-29 18:57:47 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timeline-object: Add TrackObject to the Track after the TimelineObject
This way, the Track::track-object-added is emited after the TrackObject is ready to be used, and it make the API easier to use.
2012-04-07 21:40:07 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Factor out a method to start observing timeline for auto-transitions
2012-04-07 21:24:18 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Reorganize file
2012-04-07 21:04:21 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Rework auto transition callbacks management
We now have a GESTrack::track-object-added signal so we now depend on it rather than on each GESTimelineObject::track-object-added signal.
2012-03-30 03:40:50 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timeline-object: Properly reflect contained TrackObject duration and inpoint properties changes
2012-01-30 22:55:59 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Some documentation fixing
2012-01-27 16:04:00 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
docs: Add ges_timeline_object_release_track_object
We need it especially in the case of effects
2012-04-04 20:47:04 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Add API documentation
2012-02-02 15:29:30 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline.c:
ges: Calm logging when not created TrackObject on purpose
2012-03-31 13:57:04 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Restructurate the file separting methods/callbacks/API
2012-01-25 15:12:05 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timelineobject: Emit effect-added when adding any kind of TrackEffect
We were only emitting it when working with TrackParseLaunch effects
2012-02-01 20:25:35 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
docs: Tell users that adding an object to a timeline layer creates media related objects
2012-01-20 17:03:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
ges: Misc debug loggin cleanup
2012-01-20 16:37:28 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
timeline: Plug a leak when calling enable_update
2012-01-22 23:03:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
* ges/ges-timeline.h:
timeline: Rework the append_layer method
ges_timeline_append_layer now creates a new layer, adds it to the timeline
and returns it
This code has not been released yet so we can break this API.
2012-01-20 14:36:36 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
layer: Add a method to check if a layer is empty or not
API: ges_timeline_layer_is_empty
2012-01-16 09:37:22 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-track-filesource.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/save_and_load.c:
ges: Move the max-duration property from TrackFileSource to TrackObject
This property was firstly added to TrackFileSource, but in the end, it makes
more sense for it to be directly in TrackOject as it can be usefull in other cases.
2012-04-05 18:45:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 7fda524 to 464fe15
2012-03-30 03:36:27 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
timeline-layer: Do not call track_get_by_layer when track == NULL
2012-04-04 14:02:43 -0300 Thiago Santos <thiago.sousa.santos@collabora.com>
Merge branch '0.10'
2012-03-30 19:10:33 -0300 Thiago Santos <thiago.sousa.santos@collabora.com>
* ges/ges-timeline-pipeline.c:
ges: timeline-pipeline: Remove playsink send_event hack
This is fixed now in upstream playsink, remove the hack
https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 14:50:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/ges-docs.sgml:
* docs/version.entities.in:
* ges/Makefile.am:
* gst-editing-services.spec.in:
* pkgconfig/Makefile.am:
* pkgconfig/gst-editing-services-uninstalled.pc.in:
* pkgconfig/gst-editing-services.pc.in:
* tests/check/Makefile.am:
* tests/examples/Makefile.am:
* tools/Makefile.am:
ges: Update versioning
2012-04-04 12:08:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
Merge remote-tracking branch 'origin/0.10'
Conflicts:
bindings/python/Makefile.am
ges/Makefile.am
2012-04-03 19:25:18 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/Makefile.am:
* configure.ac:
* docs/libs/Makefile.am:
* ges/Makefile.am:
* ges/ges-formatter.c:
* tools/Makefile.am:
formatter: Try to figure out new paths when media files have moved
Introduces a dependency to GIO
2012-03-29 12:55:44 -0400 Thibault Saunier <thibault.saunier@collabora.com>
Merge branch '0.10'
Conflicts:
bindings/python/ges.defs
2012-03-29 15:10:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
Merge remote-tracking branch 'origin/0.10'
2012-01-30 17:47:42 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timelineobject: Set TrackObject's TimelineObject only when calling the add function
ges_timeline_object_add_track_object actually calls
ges_track_object_set_timeline_object so do not do it once more ourself.
Especially since it results in having a TrackObject.timeline_object refering
to a TimelineObject it is not actually in yet.
2012-03-28 02:53:50 +0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* ges/ges-track.c:
ges-track: Set gnlobject state to NULL before disposing it
Work around a deadlock if setting state to NULL right before removing the
gnlobject from the composition.
https://bugzilla.gnome.org/show_bug.cgi?id=672751
2012-01-27 17:09:08 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
timelineobject: Update the nb_effect when releasing a TrackEffect
2012-01-22 22:50:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track.c:
* ges/ges-track.h:
ges: Add a way to know whether a timeline is updating on each changes
+ Bind the new API in python
API: ges_timeline_is_updating
API: ges_track_is_updating
2012-01-26 11:53:54 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
trackobject: Enable adding a TrackObject in a Track before a TimelineObject
We were requiring it only for GESCustomTimelineSource, but it is not actually
necessary so, we can just check if the TrackObject is in a TimelineObject or
not, and react accordingly.
2012-01-25 12:47:24 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
timeline-layer: Add a method to get the timeline it is currently in
API: ges_timeline_layer_get_timeline
Bind it in python
2012-03-28 02:53:50 +0300 Volodymyr Rudyi <vladimir.rudoy@gmail.com>
* ges/ges-track.c:
ges-track: Set gnlobject state to NULL before disposing it
Work around a deadlock if setting state to NULL right before removing the
gnlobject from the composition.
https://bugzilla.gnome.org/show_bug.cgi?id=672751
2012-03-26 12:43:30 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
Replace master with 0.11
2012-03-19 10:56:53 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
ges-pitivi-formatter: add copyright/license headers
https://bugzilla.gnome.org/show_bug.cgi?id=644943
2012-03-13 13:52:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
Merge remote-tracking branch 'origin/master' into 0.11
2012-03-13 11:36:15 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: fix weird windowsy code in save_and_load unit test
Fixes compiler error about FILENAME_MAX in 0.11
2012-03-12 16:22:22 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
ges-timeline-pipeline: port to 0.11
2012-03-12 15:46:42 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track.c:
* ges/ges-utils.c:
Remove ges-marshal.[ch] and use the generic marshaller
2012-03-12 15:37:33 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* configure.ac:
configure: bump GLib requirement in line with core and other libs
2012-03-12 15:25:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
bindings/python/Makefile.am
bindings/python/ges-types.defs
bindings/python/ges.defs
bindings/python/ges.override
bindings/python/gesmodule.c
bindings/python/testsuite/test_textoverlay.py
2012-03-12 15:15:22 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
configure: check for libxml2 explicitly
GStreamer may be built without the libxml2 dependency.
2012-03-12 15:09:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
ges-pitivi-formatter: move libxml includes into .c file
There's no need to have them in the header file.
2012-03-06 15:37:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/ges-timeline-title-source.c:
ges: Fix 'implicit conversion from enumeration type 'GESTextHAlign' to different enumeration type 'GESTextVAlign'' and similar compiler warnings
2012-03-06 15:35:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/ges-timeline-object.c:
ges: Fix 'comparison of unsigned expression < 0 is always false'
2012-02-17 13:46:36 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* bindings/python/Makefile.am:
bindings: don't link to libges four times
And even less different versions of it.
2012-02-10 19:44:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/check/ges/simplelayer.c:
tests: ges_track_new() takes ownership of caps, so can't use GST_CAPS_ANY
2012-02-10 19:42:16 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: port tests to new raw caps
2012-02-10 19:36:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-track.c:
track: add g-i annotation that ges_track_new() takes ownership of caps passed
2012-02-10 19:35:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-track-video-transition.c:
* ges/ges-track.c:
ges: port to new raw audio/video caps
Completely untested, but more likely to work than the
existing code.
2012-02-10 19:17:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/overlays.c:
* tests/examples/simple1.c:
* tests/examples/text_properties.c:
* tests/examples/thumbnails.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
examples, ges-launch: remove deprecated g_thread_init()
Not needed any more with recent glib versions
2012-02-10 19:13:44 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/Makefile.am:
g-i: need to call gst_init() before ges_init() so GST_TYPE_CAPS is set
Fixes "g_param_spec_boxed: assertion `G_TYPE_IS_BOXED (boxed_type)' failed"
warnings when running g-ir-scanner.
2012-02-10 19:01:03 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-video-transition.c:
track-{audio,video}-transition: update for controller API changes
2012-02-10 18:43:51 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
timeline-pipeline: use standard GLib API to save thumbnail data to file
2012-02-10 18:35:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
timeline-pipeline: update for new gst_buffer_map() API
2012-01-30 11:34:09 +0100 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
ges: support and handle no-more-pads in GESTimeline(Pipeline)
... to arrange for a clean READY to PAUSED state change transition.
Not doing so might have playsink reaching PAUSED prematurely
as one track prerolls, only to lose this state again (temporarily)
when the other track needs to preroll.
This is generally not nice or convenient, and particularly nasty
when trying to perform seek in PAUSED.
2012-01-25 14:13:02 +0100 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
* common:
Automatic update of common submodule
From c463bc0 to 7fda524
2012-01-25 11:41:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 2a59016 to c463bc0
2012-01-18 16:48:52 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 0807187 to 2a59016
2012-01-12 16:34:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline.c:
* ges/ges-track.c:
* tests/check/ges/layer.c:
* tests/check/ges/save_and_load.c:
ges: Various doc fixups and cleanups
2012-01-12 15:12:14 +0100 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* ges/ges-pitivi-formatter.c:
* ges/ges-timeline-layer.c:
ges: only use glib constructs as required in configure.ac
2012-01-12 15:11:10 +0100 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* pkgconfig/gst-editing-services-uninstalled.pc.in:
pkgconfig: fix uninstalled pkgconfig to handle out-of-source build case
2012-01-07 13:36:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
pitivi-formatter: Use the new Formatter->project_loaded vmethod
2012-01-07 13:28:15 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
formatter: Add a "loaded" signal
API: GESFormatter::loaded signal
API: GESFormatter->project_loaded VMethod
2011-12-22 17:11:34 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
docs: Add a pitivi-formatter documentation
Move the API to the API section of the pitivi-formatter file
2012-01-05 13:21:40 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-formatter.c:
formatter: Enhance some debug logging
2012-01-04 19:04:53 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* bindings/python/ges.override:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
ges: Rework the ges_pitivi_get_sources method
+ Remove the URI parameter of ges_pitivi_get_sources
+ Rework how we handle the PitiviFormatterPrivate.source_table HashTable
rename it to sources_table to make a difference between it and the
source_table(s) it containes
2012-01-04 18:06:37 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* bindings/python/ges.override:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
ges: Let user set a source list on the PitiviFormatter
API: ges_pitivi_formatter_set_sources
Bind it in python
2012-01-04 15:06:11 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
ges: Handle the new SourceMoved API in PitiviFormatter
2012-01-04 15:05:15 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
bindings: Bind the new formatter API
2012-01-04 14:59:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
ges: Add an API to Formatter to be able to handle moved sources
API: GESFormatter::source-moved signal
API: GESFormatter::update_source_uri virtual method
Conflicts:
ges/ges-formatter.h
2012-01-04 14:46:54 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
ges: Add a "discovery-error" signal to GESTimeline
API: GESTimeline::discovery-error signal
2012-01-04 14:24:05 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
ges: Let user set TimelineObject URI while not containing any TrackObject
In the case of not properly set uri, we can keep using the same
TimelineFileSource changing its URI until its TrackObject could be created.
This is particularly usefull in the case of formatter trying to load filesource
when the file has been moved
2012-01-03 11:59:29 +0100 mathieu duponchelle <duponc_m@Meh.(none)>
* bindings/python/ges.defs:
* bindings/python/ges.override:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
Add API to get all sources from xptv project
2011-12-23 17:16:20 +0100 mathieu duponchelle <duponc_m@Meh.(none)>
* ges/ges-timeline-layer.c:
Disconnect handlers when object is removed from layer
2011-12-22 21:21:37 +0100 mathieu duponchelle <duponc_m@Meh.(none)>
* ges/ges-timeline-layer.c:
Edit : typos
2011-08-24 12:04:32 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-timeline-layer.c:
* ges/ges-timeline.c:
GES : remove transitions when needed
Conflicts:
ges/ges-timeline.c
2011-12-21 19:48:22 +0100 mathieu duponchelle <duponc_m@Meh.(none)>
* ges/ges-timeline-layer.c:
Fixes auto transitions on layers + n.
2011-12-29 13:56:08 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
* ges/ges-timeline.c:
* ges/ges-track-filesource.c:
ges: Add a maxduration property to TrackFileSource
API: GESTrackFileSource::maxduration property
2011-12-23 19:23:31 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
ges: Disconnect the TrackObject when removed from a Track
2011-12-26 02:54:29 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* bindings/python/ges.override:
* docs/libs/ges-sections.txt:
* ges/ges.c:
* ges/ges.h:
ges: Add a runtime version checking function
Bind it in python
API: ges_version
2011-12-22 15:59:51 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.h:
ges: Reindent ges-track-object.h
2011-12-22 14:41:39 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/gesmodule.c:
bindings: Register the various enums/flags in python
2011-12-19 11:21:18 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
ges: Make TrackObject:locked a GObject property
2011-12-18 01:49:24 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
ges: Fix the TimelineObject::effect-added signal emission timing
We were emitting it before it gets added to the track_object list,
so the list we were getting with get_top_effects was containing
a TrackObject that wasen't a TrackEffect
+ A bit of refactoring
2011-12-16 09:56:08 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.h:
ges: Reindent ges-track.h
2011-12-16 09:54:58 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
* ges/ges-track-object.c:
ges: Some debug logging enhancements
2011-12-16 09:52:35 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
ges: Expand track background duration equal to timeline duration
2011-12-16 09:35:31 +0100 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
ges: Add a duration property to GESTimeline
API: GESTimeline:duration property
2011-12-16 04:23:58 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
ges: Fix TimelineObject movement that contains unlocked and relocked objects
Record the TrackObject that initiated a TimelineObject movement so we don't
get inifite loops.
Also fix the new TrackObject calculation:
child.start = time - offset (not time + offset)
2011-06-17 14:29:52 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
* tests/check/ges/layer.c:
ges: Bump layer height from 10 to 1000
2011-12-07 20:17:55 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* ges/ges-timeline-object.c:
ges: Little fixes to timeline_object_g(s)et_supprted_formats
2011-12-07 20:50:13 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
ges: Add guards to all API calls in GESTimelineObject
And reindent the .h file
2011-12-07 20:36:24 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
ges: Add a method to TimelineObject to set contained TrackObject-s locked state
API: ges_timeline_object_objects_set_locked
2011-12-06 23:11:25 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline.c:
* ges/ges-track.c:
docs: Update documentation
2011-12-06 14:11:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
ges: Remove transitions properly
2011-12-06 14:10:14 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
ges: Add a TimelineObject::track-object-removed signal
API: TimelineObject::track-object
2011-11-30 21:47:54 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
* ges/ges-track.c:
ges: Enhance some debug logging
Also make sure not to warn when it shouldn't
2011-11-30 21:46:21 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
ges: Misc fixes in ges-timeline-layer
Put the comment where they are meant to be
Make static functions static
Use LAYER_HEIGHT where needed
2011-11-02 13:51:36 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
ges: Auto transition cleanup
2011-11-30 20:13:09 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-file-source.c:
* tests/check/ges/filesource.c:
ges: Do not add any audio source when still image
We now have a backgroud so no problem with that.
Fix the testsuite accordingly
Fix #657514
2011-11-16 15:22:33 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track-object.c:
ges: Fix debugging symbol to avoid segfaults
2011-11-02 13:52:16 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-pitivi-formatter.c:
ges: Big PiTiVi formatter cleanup
Also set the version to 0.2
2011-10-09 12:28:39 -0400 Stéphane Maniaci <stephane.maniaci@gmail.com>
* ges/ges-pitivi-formatter.c:
ges: Don't release unexisting sources when destroying the formatter
This happens in case of an empty project.
2011-10-20 16:16:30 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-track.c:
ges: Add a gnl background object to tracks
This is in order to support gaps in the timeline.
This is not the proper solution, we should make sure to fill gaps properly,
but for the time being, it makes the trick
2011-12-06 18:04:11 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-simple-timeline-layer.c:
ges: Make sure not to set transition start to negative
gnlobject.start is a guint64, we can not set it to a negative value
2011-09-14 14:58:01 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-timeline-layer.c:
ges: makes "pass over" accurate and reset priority when transition is removed
2011-08-28 01:13:20 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-timeline.c:
ges: don't reset the supported formats in the timeline when they're already set
My mom never told me goto was evil
2011-08-26 18:39:39 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-timeline-object.c:
ges: make the offset positive as it should have been
Took me two days to figure that out :/ I'm pretty sure it's the way things are supposed to be
2011-08-24 12:06:22 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track.c:
ges: modifies emission of the track/object-removed signal
Make it be emitted right before the track objects is removed so we don't end up
with a TrackObject that has already been freed
2011-08-24 11:48:14 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.defs:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
ges: adds a ges_timeline_object_split method
Slightly improves the copy function to do so.
API: ges_timeline_object_split
2011-06-08 20:36:58 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-object.c:
ges: add a timeline_object copy function
2011-08-09 15:56:56 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.defs:
python : bind the new timeline_object functions
+ move_to_layer
+ is_moving_from_layer
+ set_moving_from_layer
2011-08-03 02:33:10 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.defs:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track.c:
* ges/ges-track.h:
ges: adds an enable_update function to the GESTimeline
Binds it in python
API: ges_timeline_enable_update
2011-07-28 18:49:04 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track.c:
ges : add a track-object(removed signal to the track
API: GESTrack::track-object-removed signal
2011-12-01 00:33:38 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-standard-transition.c:
ges: Handle supported formats in TimelineStandardTransition
2011-07-24 02:49:36 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* tests/check/ges/layer.c:
ges: add an auto-transition to the layer
API: GESTimelineLayer.auto_transition property
2011-07-27 02:04:48 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track.c:
ges: Keep the track object list sorted in track
2011-07-27 02:02:20 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/testsuite/test_textoverlay.py:
* ges/ges-timeline-object.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/filesource.c:
* tests/check/ges/overlays.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
ges: add track objects to the track before the track-object-added is emitted
NOTE: The caller of ges_timeline_object_create_track_object now needs to add it to
the timeline_object after calling the function.
Fix the testsuite to support that accordingly
2011-07-13 18:30:06 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.defs:
* bindings/python/ges.override:
python: bind and override the ges_track_get_objects method
2011-07-08 03:37:28 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track.c:
* ges/ges-track.h:
ges: Add API to get the TrackObject-s contained in a Track
Sort the track_objects list
API: ges_track_get_objects
2011-08-28 03:59:19 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges-types.defs:
* bindings/python/ges.defs:
python: binds the PiTiVi formatter
2011-08-28 03:58:21 +0200 Mathieu Duponchelle <seeed@laposte.net>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
examples: Add a load project option to ges-ui
2011-08-28 03:57:13 +0200 Mathieu Duponchelle <seeed@laposte.net>
* tools/ges-launch.c:
tools: Add a -y option to ges-launch to launch pitivi projects
2011-08-28 03:56:26 +0200 Mathieu Duponchelle <seeed@laposte.net>
* tests/check/ges/save_and_load.c:
test: Add a pitivi formatter test
For now we requiere a project files and media files to be on the host system,
this is not optimal and we should rework that in the future.
2011-08-28 03:55:46 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/Makefile.am:
* ges/ges-pitivi-formatter.c:
* ges/ges-pitivi-formatter.h:
* ges/ges-types.h:
* ges/ges.h:
ges: Implement a Pitivi Formatter
API: ges_pitivi_formatter_new
2011-08-28 03:48:36 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track.c:
ges: add a track-object-added signal to GESTrack
API: GESTrack::track-object-added signal
2011-08-28 06:25:37 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-timeline-object.c:
ges: Add a track-object-added signal to GESTimelineObject
API: GESTimelineObject::track-object-added signal
2011-12-01 00:18:30 -0300 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.defs:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/save_and_load.c:
ges: Move supported formats from filesource to timelineobject
This is usefull by any subclass of GESTimelineObject
+ Bind it in python
+ Fix the keyfile formatter tests
API: ges_timeline_object_set_supported_formats
API: ges_timeline_object_get_supported_formats
2011-06-07 12:54:06 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
ges: Add a ges_timeline_append_layer convenience method
API: ges_timeline_append_layer
2011-06-06 15:56:23 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* tests/check/ges/layer.c:
test: Better layer priority handling testing
We use the ges_timeline_object_move_to_layer new function to make sure it works,
and that everything goes well on priority handling with this new method
2011-06-06 15:55:47 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline.c:
ges: add a function to move TimelineObject from a layer to another
API: ges_timeline_object_move_to_layer
API: ges_timeline_object_is_moving_from_layer
API: ges_timeline_object_set_moving_from_layer
2011-06-02 22:03:19 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline.c:
ges: Keep layers sorted by priorities in the timeline
2011-06-02 22:01:43 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
ges: Add some debugging symbols
2011-04-15 19:34:28 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* tests/check/ges/layer.c:
* tests/check/ges/save_and_load.c:
ges: Handle TimelineLayer and its contained TimelineObject priorities properly
GESTimelineObject.priority is now actually relative to its containing layer
priority.
Test it in the layer test-suite.
2011-06-02 21:35:59 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* ges/ges-timeline-layer.c:
ges: Define a LAYER_HEIGHT constant in the normal layer
2012-01-11 15:31:41 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Add pipeline {get|set}_{audio|video}_sink() docs
2012-01-06 09:16:09 -0300 Robert Swain <robert.swain@gmail.com>
* ges/ges-timeline.c:
timeline: simplify code to remove an object from the pendingobjects list
g_list_remove_all () can be used as a simplification as the private data to ges
timeline object are 1:1.
2012-01-04 17:24:16 +0100 Robert Swain <robert.swain@gmail.com>
* ges/ges-timeline.c:
GESTimeline: Lock object discovery list
TimelineFileSource objects are asynchronously discovered with discoverer
with such objects being added to a pendingobjects list. If one were to
remove a layer before an object in said layer had been discovered, a
segfault could occur.
As such, management of the list has been made more robust with the
addition of a mutex and removal of the object from the pendingobjects
list upon layer removal.
2011-11-08 17:29:38 -0500 Mateu Batle <mateu.batle@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: fix trigger notify changing props
Notify signal was not triggered when changing properties through
ges_timeline_object_set_* functions, only when done through g_object_set
2012-01-04 19:56:19 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* common:
Automatic update of common submodule
From 710d453 to 0807187
2012-01-02 15:58:17 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges.c:
ges: Update for registry API change
2011-12-30 17:24:37 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
bindings/python/Makefile.am
bindings/python/ges.override
bindings/python/gesmodule.c
configure.ac
2011-12-30 17:18:18 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
tools: Add proper include for g_printf
2011-12-30 17:18:40 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/thumbnails.c:
tests/thumbnails: Updates
2011-12-30 17:18:18 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/ges-ui.c:
* tools/ges-launch.c:
tools: Add proper include for g_printf
2011-12-30 17:17:11 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests/save_and_load: Cleanups and leak fixing
2011-12-30 17:16:29 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/effects.c:
tests/effects: Update for new 'parent' property in objects
2011-12-30 17:15:07 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-screenshot.c:
* ges/ges-screenshot.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-track-audio-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-transition.c:
* ges/ges.c:
ges: Update for 0.11 changes
* Changes with controller API
* Use new GstSample for screenshot API
2011-11-30 16:15:35 +0100 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: allow for optional audio or video track
2011-11-30 15:44:45 +0100 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: port over gst-launch verbose setting
... as it is useful for a quick peek as to what is going on.
2011-11-07 15:08:34 +0100 Robert Swain <robert.swain@gmail.com>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: Add API to get/set audio sink
2011-10-12 12:49:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* docs/libs/Makefile.am:
docs: link against libgstreamer for gst_init() and fix order in GTKDOC_CFLAGS
Add missing backslash so we link against libgstreamer.
2011-10-12 12:37:54 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* bindings/python/ges.override:
* bindings/python/gesmodule.c:
bindings: fix up pygst includes for new install directory
Changes from pygst/pygst.h to gst/pygst.h to match the source
code layout, which makes things easier in an uninstalled setup.
https://bugzilla.gnome.org/show_bug.cgi?id=657435
https://bugzilla.gnome.org/show_bug.cgi?id=657436
2011-10-12 12:32:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* configure.ac:
configure: require pygst from git for the headers
2011-08-26 15:21:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* bindings/python/Makefile.am:
python: Add $(PYGST_CFLAGS) to CFLAGS to fix the build
https://bugzilla.gnome.org/show_bug.cgi?id=657436
2011-10-11 10:12:05 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Add new API
2011-10-11 10:08:47 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* Makefile.am:
* bindings/Makefile.am:
* bindings/python/Makefile.am:
* bindings/python/arg-types.py:
* bindings/python/codegen/Makefile.am:
* bindings/python/codegen/__init__.py:
* bindings/python/codegen/argtypes.py:
* bindings/python/codegen/code-coverage.py:
* bindings/python/codegen/codegen.py:
* bindings/python/codegen/definitions.py:
* bindings/python/codegen/defsparser.py:
* bindings/python/codegen/docextract.py:
* bindings/python/codegen/docgen.py:
* bindings/python/codegen/h2def.py:
* bindings/python/codegen/mergedefs.py:
* bindings/python/codegen/mkskel.py:
* bindings/python/codegen/override.py:
* bindings/python/codegen/reversewrapper.py:
* bindings/python/codegen/scmexpr.py:
* bindings/python/examples/Makefile.am:
* bindings/python/examples/effect.py:
* bindings/python/examples/simple.py:
* bindings/python/ges-types.defs:
* bindings/python/ges.defs:
* bindings/python/ges.override:
* bindings/python/gesmodule.c:
* bindings/python/testsuite/Makefile.am:
* bindings/python/testsuite/common.py:
* bindings/python/testsuite/runtests.py:
* bindings/python/testsuite/test_global_functions.py:
* bindings/python/testsuite/test_layer.py:
* bindings/python/testsuite/test_simple_layer.py:
* bindings/python/testsuite/test_textoverlay.py:
* bindings/python/testsuite/test_timeline.py:
* bindings/python/testsuite/test_timeline_file_source.py:
* bindings/python/testsuite/test_timeline_parse_launch_effect.py:
* bindings/python/testsuite/test_timeline_pipeline.py:
* bindings/python/testsuite/test_timeline_test_source.py:
* bindings/python/testsuite/test_timeline_title_source.py:
* bindings/python/testsuite/test_track.py:
* bindings/python/testsuite/test_transition.py:
* configure.ac:
bindings: We no longer use static bindings in 0.11
2011-10-11 10:02:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-video-transition.c:
TrackVideoTransition: Fix after merge
2011-10-11 09:58:46 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-11 09:54:56 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
common: Update to tip of 0.11 branch
2011-10-11 09:51:43 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-image-source.c:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-text-overlay.c:
* ges/ges-track-video-transition.c:
ges: ffmpegcolorspace is dead, long live videoconvert
2011-10-11 09:51:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
* ges/ges-track-effect.c:
ges: Port to 0.11 API
2011-10-11 09:50:30 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-screenshot.c:
screenshot: Use new 0.11 API
FIXME : Need to figure out how to get the buffer caps.
2011-10-05 12:24:36 +0200 Robert Swain <robert.swain@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: API documentation improvements
Added notes for refcounts and transference to API documentation for the
video sink getter/setter.
2011-10-04 16:25:22 +0200 Robert Swain <robert.swain@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: Add video sink get/set API
This new API allows getting/setting of the preview mode's video sink
element through playsink's video-sink property.
2011-09-07 15:51:36 +0200 Stefan Sauer <ensonic@users.sf.net>
* docs/libs/Makefile.am:
docs: cleanup makefiles
Remove commented out parts that we don't need. Remove "the wingo addition" - no
so useful after all. Narrow down file-globs for plugin docs.
2011-09-06 21:53:57 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From a39eb83 to 11f0cd5
2011-09-06 16:07:30 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 605cd9a to a39eb83
2011-09-02 19:26:43 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
docs: clarify sentence a bit
2011-09-02 18:20:00 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
design: More specifications of compositing and material handling
Doing it this way will enable us to handle:
* Output conforming (proper scaling/conversion at the right place)
* Compositing in an easy way at the layer level
* Avoid having too many transformation elements
2011-09-02 17:45:52 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
design: Re-order items by importance
Plugins, templates and so-forth are not top priorities.
Also update the index
2011-09-02 16:57:37 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Remove duplicate symbol
2011-09-02 16:43:13 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
docs: Add note about merging GNonLin and GES
2011-08-30 16:03:22 +0200 Andoni Morales Alastruey <amorales@flumotion.com>
* tests/Makefile.am:
Don't build the examples if it's disabled in configure
Fixes: #657707.
2011-08-30 16:40:03 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Return before the error labels
Avoids a warning for no reason
2011-08-29 12:00:06 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Handle some trivial error cases
Avoids ending up calling potentially NULL variables
2011-08-29 11:47:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
docs/design: Add section on compositing and mixing
2011-08-29 09:51:10 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
docs/design: updates on effects and conforming materials
2011-08-17 12:24:48 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* bindings/python/examples/simple.py:
pyges: updating copyright of simple example
Signed-off-by: Thibault Saunier <thibault.saunier@collabora.com>
2011-08-14 20:27:08 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-track-video-transition.c:
ges/ges-track-video-transition.c: fix transition of different video sizes
2011-08-14 00:52:23 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-track-object.c:
GESTrackObject: missing Since tag and typo fixes
2011-08-13 19:34:55 +0200 Luis de Bethencourt <luis@debethencourt.com>
* docs/libs/ges-sections.txt:
docs: adding GESPipelineFlags to docs
2011-08-13 18:38:31 +0200 Luis de Bethencourt <luis@debethencourt.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-text-overlay.c:
* ges/ges-track-text-overlay.c:
docs: add Since tag to new TextOverlay functions
And add them to the GES API doc
2011-08-13 17:51:48 +0200 Luis de Bethencourt <luis@debethencourt.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-title-source.c:
* ges/ges-track-title-source.c:
docs: add Since tag to new TitleSource functions
And add them to the GES API doc
2011-08-12 23:32:52 +0200 Luis de Bethencourt <luisbg@collabora.com>
* bindings/python/examples/Makefile.am:
* bindings/python/examples/effect.py:
pyges: Add an effect example
2011-08-11 18:26:08 +0200 Luis de Bethencourt <luis@debethencourt.com>
* bindings/python/examples/simple.py:
pyges: fix and clean examples/simple.py
2011-08-11 16:35:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitignore:
bindings: Ignore more files
2011-08-11 16:32:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* bindings/Makefile.am:
* configure.ac:
bindings: makefile => Makefile
More in sync with all other Makefiles
2011-08-11 16:28:14 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* bindings/python/testsuite/common.py:
* bindings/python/testsuite/runtests.py:
testsuite: Remove print statements
2011-08-11 14:31:47 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/testsuite/test_timeline_file_source.py:
pyges: Fix the timeline_file_source test suite
Can't create a GESTimelineFileSource if you don't have the protocol in the uri
2011-08-11 14:27:31 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/Makefile.am:
* bindings/python/testsuite/test_global_functions.py:
* bindings/python/testsuite/test_layer.py:
* bindings/python/testsuite/test_simple_layer.py:
* bindings/python/testsuite/test_textoverlay.py:
* bindings/python/testsuite/test_timeline.py:
* bindings/python/testsuite/test_timeline_file_source.py:
* bindings/python/testsuite/test_timeline_parse_launch_effect.py:
* bindings/python/testsuite/test_timeline_pipeline.py:
* bindings/python/testsuite/test_timeline_test_source.py:
* bindings/python/testsuite/test_timeline_title_source.py:
* bindings/python/testsuite/test_track.py:
* bindings/python/testsuite/test_transition.py:
pyges: Install it so we now use import ges
Using from gst import ges did not make much sense
2011-08-11 14:22:50 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/makefile.am:
pyges: Do not try to build the bindings if no python found
2011-08-11 14:21:18 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/Makefile.am:
* bindings/python/examples/Makefile.am:
* bindings/python/testsuite/Makefile.am:
* configure.ac:
pyges: Install files from the examples and testsuite
2011-05-06 19:39:56 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* bindings/python/examples/simple.py:
pyges: Add a PyGes example
2011-08-09 22:11:03 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/Makefile.am:
* bindings/python/arg-types.py:
pyges: Add the GstArgtypes, get all the functions binded
2011-08-09 17:16:44 +0200 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.override:
* bindings/python/gesmodule.c:
pyges: link against pygst and use GstMiniObject
2011-06-10 16:58:55 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/testsuite/test_global_functions.py:
* bindings/python/testsuite/test_layer.py:
* bindings/python/testsuite/test_simple_layer.py:
* bindings/python/testsuite/test_textoverlay.py:
* bindings/python/testsuite/test_timeline.py:
* bindings/python/testsuite/test_timeline_file_source.py:
* bindings/python/testsuite/test_timeline_parse_launch_effect.py:
* bindings/python/testsuite/test_timeline_pipeline.py:
* bindings/python/testsuite/test_timeline_test_source.py:
* bindings/python/testsuite/test_timeline_title_source.py:
* bindings/python/testsuite/test_track.py:
pyges : Improve the test suite
2011-06-08 03:23:17 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.defs:
pyges : correct the defs for ges_track_audio_raw_new and ges_track_video_raw_new
2011-06-07 01:43:42 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/codegen/argtypes.py:
* bindings/python/ges.override:
* bindings/python/testsuite/test_timeline.py:
pyges : Add overrides
2011-06-06 01:02:17 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.override:
pyges : Add *_valist and *_by_pspec to the ignore-glob
2011-06-06 00:59:41 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges.h:
Add ges-screenshot.h to ges.h
This is to make ges_play_sink_convert_frame available to the bindings.
2011-06-08 03:50:51 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.override:
pyges : override unhandled methods
2011-06-08 03:50:25 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/codegen/argtypes.py:
pyges : add argtypes
2011-06-07 19:59:16 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.defs:
* bindings/python/ges.override:
pyges : Remove ges_formatter_set_data and get_data from the .defs
2011-05-14 04:32:45 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.override:
pyges : Override ges_timeline_parse_launch_effect_new to make it accept None
2011-06-07 18:38:37 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges-types.defs:
* bindings/python/ges.defs:
pyges: Update ges.defs and ges-types.defs with the new effect API
2011-06-07 19:44:40 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/testsuite/test_textoverlay.py:
pyges : Add a text overlay test
2011-06-07 18:09:35 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/testsuite/test_timeline.py:
* bindings/python/testsuite/test_transition.py:
pyges : Add actual testing to the testcases
2011-06-07 18:05:43 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.override:
pyges: add get_type method to the ignore_blob list
2011-06-07 19:35:00 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.override:
pyges: Override methods using GList
2011-05-12 02:27:12 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/Makefile.am:
* bindings/python/testsuite/common.py:
* bindings/python/testsuite/runtests.py:
* bindings/python/testsuite/test_timeline.py:
* bindings/python/testsuite/test_transition.py:
pyges : Add a test suite with three test cases for the bindings
2011-05-06 23:56:16 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* bindings/python/ges-types.defs:
* bindings/python/ges.defs:
pyges: Regenerate ges.def and ges-types.def so the contructors are detected properly
2011-05-06 18:11:11 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* bindings/python/codegen/h2def.py:
pyges: Make use of the namespace for the constructor classnames in codegen
2011-06-07 15:20:46 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/codegen/__init__.py:
* bindings/python/codegen/argtypes.py:
* bindings/python/codegen/code-coverage.py:
* bindings/python/codegen/codegen.py:
* bindings/python/codegen/definitions.py:
* bindings/python/codegen/defsparser.py:
* bindings/python/codegen/docextract.py:
* bindings/python/codegen/docgen.py:
* bindings/python/codegen/h2def.py:
* bindings/python/codegen/override.py:
* bindings/python/codegen/reversewrapper.py:
* bindings/python/codegen/scmexpr.py:
pyges: Sync codegen with upstream
2011-04-27 08:56:29 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* bindings/python/ges.override:
pyges: override ges_track_get_timeline
This make the bindings compiling without warning
2011-06-07 19:18:27 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* Makefile.am:
* acinclude.m4:
* bindings/makefile.am:
* bindings/python/Makefile.am:
* bindings/python/codegen/Makefile.am:
* configure.ac:
building: add python bindings
2011-06-07 19:17:10 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges-types.defs:
* bindings/python/ges.defs:
* bindings/python/gesmodule.c:
pyges: Add the necessary file to compile the bindings
defs files have been generated with the h2defs.py script
2011-06-07 16:55:41 -0400 Thibault Saunier <thibault.saunier@collabora.com>
* bindings/python/ges.override:
pyges: add registering functions prototypes to ges.override
2011-04-25 19:13:38 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* bindings/python/ges.override:
pyges: Define missing types
2011-04-25 19:12:38 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-timeline-pipeline.h:
GESTimeleinePipeline: Create a flag type instead of a simple enum
Make it binding friendly
2011-06-07 03:37:50 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/ges.override:
pyges: Add ges.override
2011-06-07 02:26:20 +0200 Mathieu Duponchelle <seeed@laposte.net>
* bindings/python/codegen/__init__.py:
* bindings/python/codegen/argtypes.py:
* bindings/python/codegen/code-coverage.py:
* bindings/python/codegen/codegen.py:
* bindings/python/codegen/definitions.py:
* bindings/python/codegen/defsparser.py:
* bindings/python/codegen/docextract.py:
* bindings/python/codegen/docgen.py:
* bindings/python/codegen/h2def.py:
* bindings/python/codegen/mergedefs.py:
* bindings/python/codegen/mkskel.py:
* bindings/python/codegen/override.py:
* bindings/python/codegen/reversewrapper.py:
* bindings/python/codegen/scmexpr.py:
Add codegen to the tracked files
2011-08-09 19:15:18 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* tests/check/ges/save_and_load.c:
* tests/check/ges/titles.c:
GESTimelineTitleSource/TrackTitleSource: add xpos/ypos setting
Vertical and horizontal position properties of the title source
can be set and get.
2011-08-09 19:13:37 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* tests/check/ges/save_and_load.c:
* tests/check/ges/titles.c:
GESTimelineTitleSource/TrackTitleSource: add color setting
Color property of the text overlay can be set and get.
2011-08-09 17:39:02 +0200 Luis de Bethencourt <luis@debethencourt.com>
* tests/examples/transition.c:
examples: add file inpoints and summary to overlay example
2011-08-08 18:57:37 +0200 Luis de Bethencourt <luis@debethencourt.com>
* tests/examples/overlays.c:
examples: add xpos and ypos options to overlay example
2011-08-08 18:44:57 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* tests/check/ges/overlays.c:
GESTimelineTextOverlay/TrackTextOverlay: add xpos/ypos setting
Vertical and horizontal position properties of the text overlay
can be set and get.
2011-08-08 18:30:42 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-enums.c:
* ges/ges-enums.h:
ges-enums: completed support for all options in TextAlign
Added the center and position options to the vertical, and horizontal
properties of text alignment.
2011-08-05 13:24:17 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
* configure.ac:
* ges/Makefile.am:
* gst-editing-services.spec.in:
* tools/.gitignore:
Opening the 0.11 branch
2011-08-03 12:37:14 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* tests/examples/overlays.c:
examples: add color option to overlay example
2011-08-03 12:27:04 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* ges/ges-timeline-text-overlay.h:
* ges/ges-track-text-overlay.h:
ges: include indentation fixes
run gst-indent through ges-timeline-text-overlay.h and
ges-track-text-overlay.h
2011-08-03 12:20:27 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* tests/check/ges/overlays.c:
GESTimelineTextOverlay/TrackTextOverlay: add color setting
Color property of the text overlay can be set and get.
2011-08-01 13:42:17 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* tools/ges-launch.c:
ges: easier to understand ges-launch summary
2011-08-01 13:40:48 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* tools/ges-launch.c:
ges: audio and video preset options in ges-launch
2011-06-21 20:35:47 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track-parse-launch-effect.c:
effects: implement the TrackParseLaunch get_property method properly
2011-06-07 00:49:58 +0200 Mathieu Duponchelle <seeed@laposte.net>
* ges/ges-track-object.c:
GES : make sure to set n_properties to 0 when needed
2011-07-01 19:30:01 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* tests/examples/test4.c:
tests: selectable audio format/container in test4
now users can select the desired rendering audio format and
container through --aformat and --format, like in ges-launch.
2011-06-30 18:13:15 +0200 Luis de Bethencourt <luis.debethencourt@collabora.com>
* tests/check/ges/filesource.c:
tests: fix TEST_URI for filesource tests
2011-06-27 21:22:48 +0200 Luis de Bethencourt <luis@debethencourt.com>
* tests/examples/test4.c:
examples: fix output_uri in test4
clean the make_ogg_vorbis_profile () code.
remove extra second of execution time.
clean some comment typos.
2011-06-27 20:39:42 +0200 Luis de Bethencourt <luis@debethencourt.com>
* tests/examples/test2.c:
* tests/examples/test3.c:
examples: remove extra second in test2 and test3
remove unnecessary sources GList.
and fix comment typos as well.
2011-06-25 20:12:46 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-timeline-file-source.c:
GESTimelineFileSource: Check uri at _new()
Check if uri is valid before creating a new object in
ges_timeline_filesource_new()
2011-06-25 19:42:29 +0200 Luis de Bethencourt <luis@debethencourt.com>
* ges/ges-timeline-file-source.c:
GESTimelineFileSource: Fix documentation
2011-06-23 11:30:24 -0700 David Schleef <ds@schleef.org>
* common:
Automatic update of common submodule
From 69b981f to 605cd9a
2011-05-26 09:15:29 -0700 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-formatter.c:
GESFormatter: Plug a leak
And make the two save methods have the same code/look
2011-05-20 16:45:25 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-formatter.h:
GESFormatter: Move comments out of the way
Avoids having them appear in gtk-doc
2011-05-20 16:03:30 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.h:
* ges/ges-track-object.h:
GESTimelineObject/TrackObject: Don't break ABI for the Class
New addition go at the end, and the _reserved pointer gets reduced
accordingly
2011-05-20 16:02:58 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-effect.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-effect.c:
* ges/ges-track-effect.h:
* ges/ges-track-object.c:
* ges/ges-track-parse-launch-effect.c:
ges: More "Since: 0.10.2" doc markers
2011-05-20 15:51:33 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: Require core/base 0.10.34
2011-05-18 10:46:34 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges.c:
doc: Update the ges_init documentation
2011-05-09 15:15:27 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/random/design:
design: Update effect statuts
2011-05-09 13:33:53 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-formatter.c:
ges: Fix introspection annotations
2011-05-05 15:02:28 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Add a proper error message on errors
2011-04-27 10:11:44 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-standard-transition.c:
GESTimelineStandardTransition: keep track of TrackVideoTransition
Use the new track_object_added/release vfunc to get cleaner code
2011-04-27 08:47:02 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-title-source.c:
GESTimelineTitleSource: Keep track of contained TrackTitleSource objects
We use the new track_object_added and track_object_released vfunc to keep track
of the TrackObject we might be interested in. Makes cleaner code
2011-04-26 19:39:56 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
GESTimelineObject: add track_object_added and track_object_removed virtual methods
Those methods are meant to be used in sublassed when needed. They are not doing
anything at this time, but will be used to clean some code in GESTimelineObject
sublcasses.
2011-04-25 17:01:48 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track.c:
GESTrack: add a duration property
User can connect to the notify::duration signal if needed
2011-04-25 17:00:10 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track.c:
GESTrack: keep track of the properties GParamSpecs
2011-05-19 23:01:16 +0300 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 9e5bbd5 to 69b981f
2011-05-18 16:14:35 +0300 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From fd35073 to 9e5bbd5
2011-05-18 12:27:56 +0300 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 46dfcea to fd35073
2011-05-09 14:26:53 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
ges: Initialize GES when building the gir/typelib
2011-05-09 14:25:50 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Move TimelineTestSource symbols to the proper section
2011-05-09 14:25:32 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges.types:
docs: Comment enum types in ges.types
Not supported yet
2011-05-09 14:24:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
ges: Use %NULL instead of #NULL
Reported by Stefan Kost:
"% is for constants, # is for objects/structs/types, @ is for parameters."
2011-05-07 16:59:06 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-object.c:
* ges/ges-track-parse-launch-effect.h:
ges: Fix docs for alignment and introspection annotations
gtk-doc comments need to have a space before the '*' of each line else
they won't be picked up by gtk-doc.
2011-05-07 13:42:24 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
GESTrack: Make debug statement more useful
2011-05-07 13:41:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-parse-launch-effect.c:
GESTrackParseLaunchEffect: Name the convert elements better
And bump a DEBUG to an ERROR
2011-05-07 13:40:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-effect.c:
GESTrackEffect: Cleanup of the property lookup code
2011-05-07 13:26:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-effect.c:
GESTrackObject: Fix leak when iterating elements
We *always* need to unref elements and not just when they're effects
2011-05-07 13:25:06 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-effect.c:
GESTrackObject: use gst_object_ref
2011-05-07 13:22:50 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-effect.c:
GESTrackEffect: Use gst_object_unref for the hash value destroyfunc
The values are GstObjects and it makes it easier to track in debug logs
when they are being unreffed.
2011-05-06 17:21:22 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.c:
* tests/check/ges/effects.c:
GESTrackkEffect: Fix Leaks
2011-05-06 17:18:58 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-parse-launch-effect.c:
GESTimelineParseLaunchEffect: finalize to avoid leaks
2011-05-06 14:55:31 -0300 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-effect.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-effect.c:
* ges/ges-track-parse-launch-effect.c:
ges: Add 'Since 0.10.2' to the new effects related API
2011-05-06 19:41:38 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: Check for valid argument
2011-05-06 19:41:16 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: Make a local function static
2011-05-06 19:40:22 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: Check for valid arguments
and minor indentation fix
2011-05-06 19:39:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-parse-launch-effect.c:
ges: Debug statement fixups
2011-05-06 19:38:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-object.c:
* ges/ges-track-parse-launch-effect.c:
ges: Doc fixes
2011-05-06 19:36:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.h:
* ges/ges-timeline-parse-launch-effect.h:
* ges/ges-track-object.h:
ges: Include indentation fixes
2011-05-06 19:35:13 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-effect.h:
* ges/ges-timeline-parse-launch-effect.h:
* ges/ges-timeline-standard-transition.h:
* ges/ges-timeline-transition.h:
* ges/ges.h:
ges: Fix include orders
2011-05-06 11:58:02 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/.gitignore:
tests: Add effects to ignored files
2011-05-06 11:56:30 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-object.c:
ges: Don't break debug lines
2011-05-06 11:54:41 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Add missing symbol to ges-sections
2011-05-06 11:54:19 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-parse-launch-effect.h:
TrackLaunchEffect: Fix macros
2011-03-17 11:38:38 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
ges-ui: add effects
2011-03-16 17:06:08 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-parse-launch-effect.c:
GESTrackParseLaunchEffect: better create_element implementation
2011-03-16 16:23:53 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-object.c:
TrackObject: fixe a crash in connect_signal
2011-02-25 17:10:00 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/effects.c:
GESTrackObject: add a ges_track_object_list_children_properties method
test: Test the new method, and also set/get_child_property_by_spec
2011-02-25 12:13:03 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/effects.c:
GESTrackObject: Implement a get/set_child_property_by_spec and get/set_child_property_valist methods
Reimplement the get/set_property accordingly
2011-02-25 11:32:44 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: add a ges_track_object_lookup_child method
2011-02-25 10:54:55 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: fixe the connect_properties_signals
2011-02-23 20:30:04 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.c:
* ges/ges-track-object.c:
GESTrackObject: Change properties_hashtable format to GParamSpec->GstElement
It used to be 'ClassName-property-name' -> GstElement
2011-02-16 18:35:02 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.c:
* ges/ges-track-parse-launch-effect.c:
GESTrackEffect: move get_props_hastable implementation from GESTackParseLaunchEffect
2011-02-16 17:51:21 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: set_top_effect_priority refactoring
2011-02-16 17:45:05 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/effects.c:
GESTimelineObject: Change the get_effects method to get_top_effects.
2011-02-16 15:51:20 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: fixe a few issues with the get_props_hastable vmethod
2011-02-16 14:30:22 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineEffect: keep the list of TrackObjects always sorted
Make sort_track_effects function static
2011-02-16 14:05:14 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/effects.c:
GESTimelineObject: use GESTrackEffect as base classe for effects and not GESTrackOperation.
2011-02-11 09:17:58 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-parse-launch-effect.c:
GESTimelineParseLaunchEffect: documentation fixing
2011-02-11 09:14:33 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-parse-launch-effect.h:
* tests/check/ges/effects.c:
TrackParseLaunchEffect: rename ges_track_parse_launch_effect_new_from_bin_desc method to ges_track_parse_launch_effect_new
2011-02-10 16:33:16 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: Update effect implementation doc
2011-02-10 16:15:50 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-timeline-effect.c:
* ges/ges-timeline-effect.h:
* ges/ges-timeline-parse-launch-effect.c:
* ges/ges-timeline-parse-launch-effect.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/effects.c:
Make GESTimelineEffect abstract and move its implementation to GESTimelineParseLaunchEffect
test: Adapte the test suite to suite the new API
2011-02-10 12:17:50 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-timeline-effect.c:
* ges/ges-track-effect.c:
* ges/ges-track-effect.h:
* ges/ges-track-parse-launch-effect.c:
* ges/ges-track-parse-launch-effect.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/effects.c:
Make GESTrackEffect abstract and move its implementation to GESTrackParseLaunchEffect
test: update the effect test suite
2011-02-08 16:08:28 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges.types:
docs: Add missing symbols in docs/libs/ges.types so the class hierarchy is well generated
2011-02-08 11:21:41 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: update effect implementation progress
2011-02-08 15:29:21 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-object.c:
* tests/check/ges/effects.c:
GESTrackObject: add the deep-notify signal
tests: test the new signal
2011-02-08 14:04:39 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
* tests/check/ges/effects.c:
GESTimelineObject: Emit signal when adding and removing effects
tests: test that those signals are actually well sent
2011-02-08 11:10:31 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
docs: fixe the GESTimelineObject documentation
2011-02-08 11:06:57 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/effects.c:
GesTrackObject: add the ges_track_object_get_child_property method
test: Test this new method
design: change the design file to fit the implementation
2011-02-08 10:25:41 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/effects.c:
GESTrackObject: add a ges_track_object_set_child_property_method
test: Test the new method
2011-02-08 09:02:56 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* tests/check/ges/effects.c:
tests: use the AgingTv as testing effects instead of identity
Lets us try the new property handling implementation in TrackObject
2011-02-08 08:57:11 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.c:
GESTrackEffect: add the get_props_hastable virtual method
Implements this virtual method for bin described effects.
2011-02-07 17:06:01 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: add an hashtable linking childs properityName -> GstElement
We also add a Virtual method that should be implementented in subclasses to generate the new GHasTable
2011-02-04 11:44:19 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/effects.c:
GESTimelineObject: add a ges_timeline_object_set_top_effect_priority method
Lets the user have a minimum of control over effects priorities
2011-02-04 11:26:11 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: Do not rely on the fact that the trackobject list is sorted
2011-02-03 16:03:10 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* tests/check/ges/effects.c:
test: Better priorities height setting testing
2011-02-03 15:40:05 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: Update TrackObject priorities handling
make use of the new TrackObject getters
2011-02-03 15:30:30 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: make debugging symbols more usefull
2011-02-03 15:11:54 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackEffect: add getters for the: start, inpoint, duration, priority, active properties
docs: add new symbols
2011-02-01 21:22:04 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-effect.c:
* tests/check/ges/effects.c:
TimelineEffect: implement the create_track_object vmethod
tests: test the new vmethod
2011-02-01 21:14:29 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: take a private update_height method out of priority_update_cb
2011-02-01 18:47:09 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-effect.c:
* ges/ges-timeline-effect.h:
TimelineEffect: create 2 properties for bin_descrption, one for the audio track, another for the video one
This is more for testing purposes since in the long run we should use Materials
2011-02-01 18:02:23 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* tests/check/ges/effects.c:
test: check the height of a TimelineObject when adding effects to it
2011-01-31 13:28:44 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-effect.c:
* ges/ges-timeline-effect.h:
* ges/ges-types.h:
* ges/ges.h:
TimelineEffect: Add the basis for GESTimelineEffect implementation
2011-01-31 13:26:50 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* ges/ges-track-effect.c:
TrackEffect: Fixe the documentation
2011-01-31 11:53:38 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: fixe new API documentation
2011-01-31 11:41:37 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/effects.c:
TimelineObject: add the ges_timeline_object_get_top_effect_position method
tests: adapt the effect testsuite to use this function
docs: add the method to the documentation
2011-01-31 11:33:56 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
TimelineObject: remove trailling spaces
2011-01-31 11:32:14 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/effects.c:
TimelineObject: add ges_timeline_object_get_effects API
tests: Test the new TimelineObject API
docs: add the corresponding fonction
2011-01-31 11:22:31 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: adapt the add_track_object so we can add effects to it.
We keep the list of contained TrackObject-s order by priority
2011-01-31 11:15:33 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: add a function to sort list of applied effects
2011-01-31 11:10:35 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: add a property to count the number of effects applied on it
2011-02-01 21:23:22 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.h:
TrackEffect: add padding to give a margin for API expension without breaking ABI
2011-01-31 11:43:04 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.c:
TrackEffect: change the create_element function arguments to fit what is expected
2011-01-31 11:09:47 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: spelling correction in the effect design document
2011-01-31 11:05:10 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: add a description of the ges_timeline_object_get_top_effect_postion method
2011-01-25 19:53:36 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
Specs: Add a description of the GESEffect class
2011-01-21 11:11:12 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-effect.h:
TrackEffect: Change copyright
2011-01-21 10:43:09 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: fixe effects API after Edward review
2011-01-18 20:03:42 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/design/effects.txt:
pending fixups/comments
2011-01-18 20:05:54 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-effect.c:
* ges/ges-track-effect.h:
* ges/ges.h:
* tests/check/ges/effects.c:
effects: Make TrackEffect implementation corresponding to the new effect API description
Make the effects testsuite correspond to the new API
Fixe a few compilation issues due to TrackEffect
2011-01-18 20:03:51 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: move GESTimlineSource new API to GESTimelineObject
2011-01-12 11:47:30 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
design: Effect API draft V2
2010-12-09 16:01:02 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
Specs: review effect API Draft
2010-12-07 13:47:47 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
Specs: Add effect API Draft
2010-12-04 12:22:54 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/design/effects.txt:
Specs: Review design of effect implementation proposal
2010-11-15 23:32:23 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-track-effect.c:
* ges/ges-track-effect.h:
* tests/check/ges/effects.c:
GESTrackEffect: add private struct
2010-11-08 21:53:26 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/design/effects.txt:
Specs: proposal for effects implementation
2010-11-05 12:12:24 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-effect.c:
* ges/ges-track-effect.h:
* ges/ges-types.h:
* tests/check/Makefile.am:
* tests/check/ges/effects.c:
GESTrackEffect: implementation of this new class
2011-01-17 16:46:15 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch-0.10: Cleanup for error cases and print statements
* Use g_error for fatal errors
* Don't exit the application from the middle of nowhere
* Properly cleanup even in error cases
* Don't print out things which aren't needed
2011-04-24 14:07:33 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* common:
Automatic update of common submodule
From c3cafe1 to 46dfcea
2011-01-27 17:47:25 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
* Android.mk:
* android/ges-launch.mk:
* android/ges.mk:
* ges/Makefile.am:
* tools/Makefile.am:
android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-04 16:00:37 +0300 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 1ccbe09 to c3cafe1
2011-03-25 22:39:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 193b717 to 1ccbe09
2011-03-25 14:58:45 +0200 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From b77e2bf to 193b717
2011-03-25 10:01:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* Makefile.am:
build: Include lcov.mak to allow tests coverage report generation
2011-03-25 09:35:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From d8814b6 to b77e2bf
2011-03-25 09:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* common:
Automatic update of common submodule
From 6aaa286 to d8814b6
2011-03-24 18:51:48 +0200 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From 6aec6b9 to 6aaa286
2011-03-16 19:58:54 -0400 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: the _init_ method shouldn't return before the end
Fixes #644939
2011-03-18 19:34:57 +0100 Luis de Bethencourt <luis@debethencourt.com>
* autogen.sh:
autogen: wingo signed comment
2011-03-15 14:05:07 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/transition.c:
examples: Make sure we don't end up using NULL values
2011-03-15 14:04:49 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/overlays.c:
* tests/examples/text_properties.c:
examples: Remove unused code
2011-03-15 14:02:14 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Handle return value of regcomp()
2011-03-15 14:01:41 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-keyfile-formatter.c:
KeyFileFormatter: Handle return value of gst_value_deserialize()
2011-03-01 17:38:52 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
ges: fix compiler warnings
2011-02-16 15:21:48 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
ges: make uri strings const
2011-02-28 18:35:14 +0100 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* common:
Automatic update of common submodule
From 1de7f6a to 6aec6b9
2011-02-14 12:57:00 +0200 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From f94d739 to 1de7f6a
2011-02-09 11:21:02 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: Store GParamSpec for height and layer
2011-02-07 12:19:18 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
* ges/ges.c:
* ges/ges.h:
* tools/ges-launch.c:
ges: Check that the gnonlin elements are present at initialization time
This avoids hanging with no obvious cause later when they're not.
https://bugzilla.gnome.org/show_bug.cgi?id=641246
2011-01-31 19:01:46 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tools/.gitignore:
tools: ignore unversioned ges-launch as well
2011-01-31 19:01:24 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: fix printf format issue
2011-01-31 19:00:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ges/ges-keyfile-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
ges: fix a couple of printf format warnings
2011-01-27 17:46:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* tests/examples/concatenate.c:
examples: Fix uninitialized variable compiler warning with gcc 4.6
2011-01-27 17:43:47 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
* ges/ges-keyfile-formatter.c:
ges: fix compiler warnings
2011-01-26 23:50:00 +0200 Stefan Kost <ensonic@users.sf.net>
* tools/ges-launch.c:
launch: fix typo in help output
2011-01-25 11:21:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: And back to development we go
=== release 0.10.1 ===
2011-01-20 22:04:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ChangeLog:
* Makefile.am:
* NEWS:
* RELEASE:
* configure.ac:
* gst-editing-services.doap:
Release 0.10.1
2011-01-18 19:06:45 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
random: Update goals/features document
So that everybody can know what features we want.
2011-01-17 14:01:28 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: 0.10.0.4 pre-release
2011-01-17 13:59:44 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Set restriction on video profile if present
2011-01-12 17:52:10 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Remove dead code and make functions/variables static
2011-01-12 17:45:23 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Fix and cleanup enum listing
It wasn't displaying anything lately.
2011-01-11 20:28:25 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
0.10.0.3 pre-release
2011-01-11 16:57:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* tools/.gitignore:
* tools/Makefile.am:
ges-launch: Add GStreamer major/minor version to the executable filename
https://bugzilla.gnome.org/show_bug.cgi?id=639222
2011-01-11 18:14:41 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-formatter.c:
* ges/ges-keyfile-formatter.c:
ges: Fix more ges_timeline_get_layers() usage memory leaks
2011-01-11 17:19:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-internal.h:
* ges/ges.c:
ges: Don't install ges-internal.h and hide the GES debug category symbols
Fixes bug #639219.
2011-01-11 17:55:25 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-utils.c:
ges-utils: minor doc update
2011-01-11 16:32:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/Makefile.am:
ges: Only export symbols starting with ges_ or GES_
https://bugzilla.gnome.org/show_bug.cgi?id=639218
2011-01-11 16:35:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ges/ges-timeline.c:
* ges/ges-track-object.c:
ges: Mark some private symbols static
https://bugzilla.gnome.org/show_bug.cgi?id=639218
2011-01-11 15:32:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac:
configure: Require G-I 0.9.6 for the --identifier-prefix parameter
2011-01-11 15:29:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* pkgconfig/gst-editing-services-uninstalled.pc.in:
* pkgconfig/gst-editing-services.pc.in:
pkg-config: Require gstreamer-controller and gstreamer-pbutils
Their headers are included by public GES headers
2011-01-11 15:26:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* configure.ac:
configure: Add parameter to select GTK+ version to use and default to 2.0
2011-01-11 15:52:57 +0200 Stefan Kost <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From e572c87 to f94d739
2011-01-10 16:40:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* common:
Automatic update of common submodule
From 8b72fde to e572c87
2011-01-10 16:51:34 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
common: Update to current master
2011-01-10 16:50:51 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
TimelinePipeline: minor doc fix
2011-01-10 16:50:41 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/Makefile.am:
docs: Fix image inclusion
2011-01-10 15:49:42 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: 0.10.0.2 pre-release
2011-01-10 15:24:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/Makefile.am:
docs: Fix for uploading docs
2011-01-10 14:28:35 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-formatter.c:
* ges/ges-keyfile-formatter.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-filesource.c:
* ges/ges-track-image-source.c:
* ges/ges-track-object.c:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.c:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-transition.c:
* ges/ges-track.c:
docs: Document all the undocumented public functions
2011-01-10 15:10:01 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
TrackObject: Small cleanup
2011-01-10 15:09:40 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
TrackObject: Remove deprecated FIXME
You just need to connect to the notify signal to get updates
2011-01-10 11:18:27 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/basic.c:
tests: Unref the GList returned by ges_timeline_get_layers...
... in addition to the content themselves
2011-01-10 11:13:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Fixup the sections for missing/renamed/removed symbols
2011-01-10 11:12:55 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.h:
Track: Mark as private the instance private structure
2011-01-10 11:12:38 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
Timeline: Fix documentation of return value
2011-01-08 16:01:31 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
GESFormatter: Add private instance and move private variables to it
2011-01-08 15:25:22 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline.c:
* tests/examples/ges-ui.c:
TimelineFileSource: Create instance private and move private variables to it
Fixe/Add getter and setters methods for those variables
Fixup documentation
2011-01-08 11:22:36 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-keyfile-formatter.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* tests/check/ges/basic.c:
* tests/check/ges/save_and_load.c:
Timeline: Add instance private and Move private variables to it
Fixe/Add getter methods to get those variables
Fixup documentation
2011-01-07 19:36:31 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* tests/check/ges/backgroundsource.c:
* tests/examples/ges-ui.c:
TimelineTestSource: Move private variables to instance private
Fixe/Add getter and setter methods for those variables
Fixup documentation
2011-01-07 14:37:56 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-track-text-overlay.c:
TimelineTextOverlay: Move private variables to instance private
Fixe/Add getter and setter methods for those variables
Fixup documentation
2011-01-07 13:48:53 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* tests/examples/ges-ui.c:
TimelineTitleSource: Move private variables to instance private
Fixe/Add getter and setters methods for those variables
Fixup documentation
2011-01-06 16:59:52 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-test-source.h:
* tests/check/ges/backgroundsource.c:
TrackAudioTestSource: Move private variables to instance private
Add getter methods to get those variables
Fixup documentation
2011-01-06 16:35:20 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-audio-transition.h:
TrackAudioTransition: : Move private variables to instance private
2011-01-06 15:35:42 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* tests/check/ges/overlays.c:
* tests/check/ges/text_properties.c:
TrackTextOverlay: Move private variables to instance private
Add getter methods to get those variables
Add/Fixup documentation
2011-01-08 01:40:18 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* tests/check/Makefile.am:
test: make unit tests compile and work in uninstalled setup
2011-01-08 01:36:13 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
gobject-introspection: fix g-i build for uninstalled setup
Requires gst-plugins-base git (> 0.10.31.2) to actually work.
2011-01-06 12:06:24 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-timeline-standard-transition.c:
enums: Fix transition enum
Leftovers from when we were using the old name
2011-01-06 12:04:53 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* tests/check/ges/titles.c:
TrackTitleSource: Move private variables to instance private
Add getter methods to get those variables
Add/Fixup documentation
2011-01-06 11:30:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
TimelinePipeline: Fix thumbnail method docs and arguments
The provided gchar* aren't modified
2011-01-06 11:29:44 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-test-source.h:
* tests/check/ges/backgroundsource.c:
TrackVideoTestSource: Move private data to instance private
Add a getter for the pattern
Document methods
2011-01-06 10:55:37 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-standard-transition.c:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
* tests/check/ges/transition.c:
TrackVideoTransition: Move private variable to instance private
Also add/fixup methods to get/set the transition type and document them.
2011-01-06 10:55:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
TimelinePipeline: Updates for pbutils API change
2011-01-05 11:32:29 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: Require core git
2010-12-21 15:24:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-audio-transition.c:
GESTrackAudioTransition: Fix empty if() body
2010-12-20 19:09:48 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Fix usage of encodebin
The property name is now avoid-reencoding
2010-12-20 12:02:40 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: minor cleanup
2010-12-20 12:01:04 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* tests/check/ges/basic.c:
* tests/check/ges/layer.c:
GESTimelineObject: Subclass from GInitiallyUnowned
The floating reference will be owned by the Layer
2010-12-20 12:00:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline.c:
* tests/check/ges/layer.c:
GESTimelineLayer: Subclass from GInitiallyUnowned
The floating reference will be owned by the Timeline
2010-12-20 11:58:21 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
GESTrackObject: Subclass from GInitiallyUnowned
The floating reference will be owned by the Track
2010-12-20 11:56:37 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* tests/check/ges/basic.c:
* tests/check/ges/filesource.c:
TimelineObject: Hold a reference to the controlled TrackObject
2010-12-20 11:38:31 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/backgroundsource.c:
* tests/check/ges/basic.c:
* tests/check/ges/filesource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/save_and_load.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
tests: Put clearer names on tests
Makes it easier to figure out which test failed :)
2010-12-18 11:40:19 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Update common submodule
2010-12-17 11:27:37 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
GES*Object: only use g_object_notify_by_pspec if available
2010-12-17 11:27:23 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: Remove unused quarks
2010-12-17 11:26:49 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: Require GLib 2.22
Same requirement as for GStreamer
2010-12-16 19:36:15 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
GESSimpleTimelineLayer: reverting const-ification
2010-12-16 16:47:54 +0000 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
GESSimpleTimelineLayer: add test for _index() method
2010-12-16 16:50:35 +0000 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
GESSimpleTimelineLayer: add _index() method
2010-12-16 19:29:14 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-pipeline.c:
* tests/check/ges/layer.c:
* tests/check/ges/timelineobject.c:
GESTimelineObject: Add mapping/offset support [start/priority properties]
Allows moving independently (or not) timelineobjects and trackobjects and
have them synchronized with the offsets taken into account.
Right now only the start and priority properties are synchronized. The duration
and in-point properties will require more thoughts.
2010-12-16 19:24:52 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/mapping.txt:
random: Add explanation about TimelineObject<=>TrackObject mapping
2010-12-16 19:24:25 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: priority offset is handled by the TimelineObject
2010-12-16 18:20:47 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: re-factor property setting code
And make sure notifications are emitted at the right time
2010-12-16 16:27:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* tests/check/ges/timelineobject.c:
GESTrackObject: Add a 'locked' property for position synchronization
And update all code using it
2010-12-16 15:05:29 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/#ges-sections.txt#:
* docs/libs/.#ges-sections.txt:
* docs/libs/ges-decl-list.txt.bak:
* docs/libs/ges-decl.txt.bak:
docs: Remove more bogus files
2010-12-16 15:00:46 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/#ges-sections.txt#:
* docs/libs/.#ges-sections.txt:
* docs/libs/ges-decl-list.txt.bak:
* docs/libs/ges-decl.txt.bak:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-filesource.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-transition.c:
* ges/ges-track.c:
* tests/check/ges/backgroundsource.c:
* tests/check/ges/filesource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/timelineobject.c:
* tests/check/ges/titles.c:
* tests/check/ges/transition.c:
* tests/examples/overlays.c:
* tests/examples/test1.c:
* tests/examples/text_properties.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
GESTrackObject: Hide more variables and provide accessors for them
2010-12-16 12:46:48 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Remove useless variable
2010-12-16 12:41:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-keyfile-formatter.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-pipeline.c:
* tests/check/ges/layer.c:
GESTimelineLayer: Hide the object list and priority
Add needed setters/getters
2010-12-15 19:40:11 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline.c:
ges: Add more documentation and annotations
This should make GES gobject-introspection compliant now.
2010-12-15 19:18:42 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.h:
TimelineObject: Put more function name in sync with others
2010-12-15 19:18:16 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* tests/check/ges/simplelayer.c:
GESSimpleTimelineLayer: _nth() returns a const
The refcount isn't incremented.
2010-12-15 19:05:48 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-keyfile-formatter.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
* ges/ges-track.h:
* tests/check/ges/basic.c:
* tests/check/ges/save_and_load.c:
GESTrack: Make more properties private
And ensure exported symbols are properly documented and have
argument checking.
2010-12-15 15:50:44 +0000 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
GESSimpleTimelineLayer: add test for _nth() method
2010-12-15 16:40:59 +0000 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
GESSimpleTimelineLayer: ensure the object can be located before "object-added" fires
2010-12-15 15:51:23 +0000 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
GESSimpleTimelineLayer: add _nth() method
2010-12-15 15:56:38 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/text_properties.c:
test: Disable the text_properties_in_layer test until it's properly implemented
2010-12-15 15:52:03 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitignore:
* ges/.gitignore:
* pkgconfig/.gitignore:
all: add/extend more .gitignore
2010-12-15 15:51:41 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* Makefile.am:
* configure.ac:
* pkgconfig/Makefile.am:
* pkgconfig/gst-editing-services-uninstalled.pc.in:
* pkgconfig/gst-editing-services.pc.in:
Add .pc files
2010-12-15 13:29:53 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-decl-list.txt.bak:
* docs/libs/ges-decl.txt.bak:
docs: Remove .bak files
Added by error when I added the doc system
2010-12-15 13:27:39 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-decl-list.txt.bak:
* docs/libs/ges-decl.txt.bak:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-track-video-transition.h:
ges: Don't shorten symbol names
It wasn't making us gain anything, and confuses the hell out of g-ir-scanner.
2010-12-15 12:58:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
ges: Add gobject-introspection support
2010-12-15 12:36:25 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* tests/examples/Makefile.am:
* tests/examples/concatenate.c:
* tests/examples/test4.c:
* tests/examples/thumbnails.c:
* tools/Makefile.am:
* tools/ges-launch.c:
ges: Switch to encoding-profile API from base
Remove dependency on gst-convenience.
2010-12-15 11:17:21 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/mapping.txt:
random: Add notes about Track mapping
2010-12-14 17:38:55 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: Make base_priority/priority-offset a private field
2010-12-14 17:37:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/mapping.txt:
random: Add brainstorming about Timeline<=>Track object mapping
2010-12-10 12:15:54 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-image-source.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-operation.c:
* ges/ges-track-operation.h:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-title-source.c:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-transition.c:
GESTrackObject: Add create_element vmethod
API: GESTrackObjectClass::gnlobject_factorytype
API: GESTrackObjectClass::create_element
Most track objects are only specific by the contents of the gnlobject,
therefore move the 'create_element' vmethod which was already present
in some subclasses to the top-level class.
Also make the code more robust
2010-12-10 12:14:32 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
GESTrackTransition: Make it a subclass of GESTrackOperation
2010-12-09 19:36:44 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* tests/check/ges/layer.c:
* tests/check/ges/save_and_load.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/text_properties.c:
GESTimelineSource: Remove textoverlay properties
This will be made more generic by allowing any overlay/effect to
be put on any source object.
2010-12-09 18:53:29 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/lifecycle:
random: Add lifecycle document
2010-12-09 17:43:08 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/basic.c:
* tests/check/ges/layer.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/timelineobject.c:
tests: Make sure gst_bin_add succeeds
And detect when we're trying to add contents to a gnlsource which
already has something
2010-12-09 17:09:11 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-standard-transition.c:
* ges/ges-timeline-standard-transition.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-track-operation.c:
* ges/ges-track-transition.c:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
* tests/check/ges/save_and_load.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/transition.c:
* tests/examples/ges-ui.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
GESTransition: Make it a base class and add GESTimelineStandardTransition
This is to ensure people can create their own Layer Transition subclass.
API : GESTimelineTransition is now GESTimelineStandardTransition
2010-12-09 15:21:10 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-formatter.c:
* ges/ges-timeline-object.c:
* ges/ges-track-object.c:
ges: Make some classes abstract with G_DEFINE_ABSTRACT_TYPE
2010-12-09 15:13:27 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-transition.c:
ges: Avoid leaking a GList of GESTrackObject
2010-12-09 15:12:34 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
* ges/ges-keyfile-formatter.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-filesource.c:
* ges/ges-track-image-source.c:
* ges/ges-track-operation.c:
* ges/ges-track-source.c:
* ges/ges-track-title-source.c:
* ges/ges-track-transition.c:
* ges/ges-track-video-test-source.c:
ges: Remove unused GObject vmethods
2010-12-09 14:25:22 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-timeline-operation.c:
* ges/ges-timeline-operation.h:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-types.h:
* ges/ges.h:
GESTimelineOperation: New abstract class for operations
This is a new class for all timeline objects that both produce and
consume data.
The existing subclasses of it are now:
* GESTimelineOverlay
* GESTimelineTransition
2010-12-09 12:53:07 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
GESTimelineObject: Clarify usage of create_track_object(s) by subclasses
2010-12-09 12:52:15 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-source.c:
GESTimelineSource: Remove empty create_track_object vmethod
The parent class will check if it is present or not, and call
track_objects if needed.
2010-12-09 11:56:00 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-formatter.h:
GESFormatter: Hide the save/load vmethod from the docs
We need to deprecated them before API/ABI freeze
2010-12-08 16:09:35 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.c:
* ges/ges-timeline-source.c:
* ges/ges-track-operation.h:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
ges: Remove creators for base classes
2010-12-08 15:48:55 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
GESTimelineSource: Remove _new() since it's a base class
2010-12-08 15:36:55 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.h:
* ges/ges-formatter.c:
* ges/ges-keyfile-formatter.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.h:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.h:
* ges/ges-timeline-test-source.h:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.h:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.c:
* ges/ges-track-audio-test-source.h:
* ges/ges-track-audio-transition.h:
* ges/ges-track-filesource.h:
* ges/ges-track-image-source.h:
* ges/ges-track-object.h:
* ges/ges-track-operation.h:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.h:
* ges/ges-track-transition.h:
* ges/ges-track-video-test-source.h:
* ges/ges-track.h:
docs: A round of updates
2010-12-08 15:36:00 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
docs: expose the TrackImageSource docs
2010-12-08 15:32:05 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges.types:
docs: Update ges.types with all types
2010-11-28 13:24:07 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-source.c:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-timeline.c:
* tests/check/ges/basic.c:
* tests/check/ges/save_and_load.c:
* tests/check/ges/simplelayer.c:
* tests/examples/overlays.c:
* tests/examples/text_properties.c:
* tests/examples/transition.c:
GESTimelineObject: add private structure
2010-11-17 19:53:32 +0100 Thibault Saunier <tsaunier@gnome.org>
* docs/libs/ges-sections.txt:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* tests/examples/ges-ui.c:
GESSimpleTimelineLayer: add private structure
2010-12-04 19:54:13 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-test-source.h:
* ges/ges-track-audio-transition.c:
* ges/ges-track-audio-transition.h:
* ges/ges-track-filesource.c:
* ges/ges-track-filesource.h:
* ges/ges-track-image-source.c:
* ges/ges-track-image-source.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-operation.c:
* ges/ges-track-operation.h:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-test-source.h:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
* ges/ges-track.c:
* ges/ges-track.h:
ges: Add instance private structures
2010-11-28 16:40:15 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: add a private structure
2010-11-26 18:43:36 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
GESCustomTimelineSource: add private structure
2010-12-02 19:47:23 +0000 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/save_and_load.c:
Tests: fix CMP_FAIL on 32-bit machines
2010-11-10 19:52:16 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/design:
docs: TODO idea dumping
Only the beginning
2010-12-02 12:28:15 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: Make sure we specify guint64 with g_object_set arguments
Yup, had missed those because of weird macros :(
2010-12-01 12:16:37 +0100 Thibault Saunier <thibault.saunier@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* tests/check/ges/simplelayer.c:
SimpleTimelineLayer: Remove bogus check and extend unit test to validate it
2010-12-02 11:54:03 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: Make sure we specify guint64 with g_object_set arguments
Avoids crashers on 32bit machines
2010-11-29 13:24:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.h:
* ges/ges-formatter.h:
* ges/ges-keyfile-formatter.h:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.h:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.h:
* ges/ges-timeline-test-source.h:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.h:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.h:
* ges/ges-track-audio-test-source.h:
* ges/ges-track-audio-transition.h:
* ges/ges-track-filesource.h:
* ges/ges-track-image-source.h:
* ges/ges-track-object.h:
* ges/ges-track-operation.h:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.h:
* ges/ges-track-transition.h:
* ges/ges-track-video-test-source.h:
* ges/ges-track-video-transition.h:
* ges/ges-track.h:
* ges/ges-types.h:
ges: Add padding to all public structures
This will give us margin for API expansion without breaking ABI.
The ABI restriction will only come in place once we do the first
official release (i.e. 0.x.0).
2010-11-27 18:38:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Update common
2010-10-22 15:57:45 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
ges-ui: allow enabling/disabling audio/video tracks
2010-10-11 11:53:35 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
ges-ui: implement save as command in gtk demo
2010-10-11 11:38:11 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
ges-ui: implement load command
2010-10-11 11:37:51 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
ges-ui: don't assume we always have 1 layer and two tracks
2010-10-08 12:32:15 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
ges-ui: add new command, remove quit command (closing last window quits app)
2010-11-27 16:56:10 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/simplelayer.c:
test: Fix typo in simplelayer test
2010-11-27 16:55:49 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/save_and_load.c:
check: Small cleanup of the save/load test
2010-11-26 18:39:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-keyfile-formatter.c:
Formatter: Extend and fixup documentation
2010-11-26 18:38:49 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
Timeline: Add doc and more comments/fixmes
2010-11-27 18:11:56 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-formatter.c:
GESTimeline: Prevent saving timelines without any layers
2010-11-26 13:02:48 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
TimelineLayer: Add debug statement regarding priorities
2010-10-20 18:01:37 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-keyfile-formatter.h:
GESFormatter: fix a few typos in documention
2010-10-19 13:35:58 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: add more fixmes
2010-10-07 16:52:51 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: add save->load test case
2010-10-07 16:51:38 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-keyfile-formatter.c:
GESKeyFileFormatter: use ges_formatter_get/set data
2010-10-07 14:55:14 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: use ges_formatter_{get,set}_data accessors in unit tests
2010-10-07 14:25:22 +0100 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
GESFormatter: Add data-related methods
2010-10-07 14:07:18 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/save_and_load.c:
tests: update unit tests
2010-10-07 13:49:15 +0100 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-keyfile-formatter.c:
* ges/ges-keyfile-formatter.h:
* ges/ges-types.h:
* ges/ges.h:
GESKeyFileFormatter: New GKeyFile GESFormatter
2010-09-24 19:31:53 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
tools: add project file support to ges-launch
2010-09-29 12:43:47 +0100 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
GESTimeline: implementation of save_to/load_from uri
2010-09-21 15:39:07 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/.gitignore:
* tests/check/ges/save_and_load.c:
tests: Add save/load tests
2010-09-13 16:21:15 -0700 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/Makefile.am:
* ges/ges-formatter.c:
* ges/ges-formatter.h:
* ges/ges-types.h:
* ges/ges.h:
GESFormatter: Project file format support
2010-10-22 15:58:22 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: set track state to NULL before removing from timeline
2010-10-07 12:29:05 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: release timeline objects when a layer is removed
2010-10-22 14:02:29 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track.c:
* ges/ges-track.h:
GESTrack: keep track of trackobjects and remove/release them in dispose
2010-10-22 14:01:34 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/basic.c:
tests: test for track removal while timeline contains timeline objects
2010-10-20 16:23:22 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/basic.c:
tests: test that adding tracks after adding layers works
2010-10-19 17:56:37 +0100 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/basic.c:
tests: unit test to check that objects in layers are properly added to the timeline
2010-09-22 12:32:47 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
GESSimpleTimelineLayer: override get_objects () virtual method
2010-09-22 12:29:26 +0100 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
GESTimelineLayer: add get_objects virtual method
2010-10-20 18:00:24 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: allow adding tracks after layers
2010-10-19 16:39:43 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: add existing timeline objects when adding layers
2010-09-23 14:49:04 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges.c:
ges: ensure built-in timeline object classes are registered
2010-09-23 14:47:48 +0100 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: remove layers before removing tracks in dispose ()
2010-11-25 14:03:07 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Gracefully handle missing properties
2010-11-25 14:02:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
Timeline: Remove unneeded variable
2010-11-25 14:01:15 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: Forgot a break in a switch/case
2010-11-23 18:24:38 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Make sure playsink events are sent to all incoming streams
PlaySink will not send seek events to all incoming streams since it assumes that
they all come from the same source (like a file).
When used with multiple gnonlin compositions we need to make sure those seek events
are sent to all of them.
2010-11-23 17:34:07 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitignore:
ges: Ignore more
2010-11-23 17:33:32 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/.gitignore:
* tests/examples/.gitignore:
tests: Ignore more files
2010-10-23 17:38:31 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-video-transition.c:
GesTrackVideoTransition: Prefer videomixer2 to videomixer
If present
2010-11-10 16:13:07 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* AUTHORS:
* README:
AUTHORS/README: cleanup
2010-11-11 17:39:32 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: g_print => g_printerr for relevant messages
2010-11-09 16:27:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/concatenate.c:
examples: Fix for latest GstDiscoverer API changes
2010-11-04 12:29:20 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: Require GStreamer core/base 0.10.30.4
2010-11-04 12:28:46 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Change for updated GstDiscoverer API
2010-09-28 16:30:30 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
Add gstvideo in build dependencies
2010-09-23 18:39:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
common: Update to master
2010-09-23 18:33:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* docs/libs/Makefile.am:
* ges/Makefile.am:
* ges/ges-screenshot.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* tests/check/Makefile.am:
* tests/examples/Makefile.am:
* tests/examples/concatenate.c:
* tools/Makefile.am:
all: Changes for discoverer being merged upstream
Along with a whole bunch of Makefile fixups
2010-09-16 09:07:05 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Return 0 if no errors, else 1
2010-09-16 08:42:50 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
Update common
2010-09-14 16:04:02 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-screenshot.c:
* ges/ges-screenshot.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline.c:
* tests/examples/concatenate.c:
* tests/examples/test4.c:
* tests/examples/thumbnails.c:
* tools/ges-launch.c:
Update for factorylist/convertframe being merged to gst core/base
2010-08-20 12:40:05 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
* ges/ges-screenshot.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline.c:
* tests/examples/concatenate.c:
* tests/examples/test4.c:
* tests/examples/thumbnails.c:
* tools/ges-launch.c:
Update to moved gst-convenience
2010-09-02 18:19:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
common: Update to latest version
2010-08-05 18:32:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
relax restrictions on adding transitions
We don't need these any more: the valid property tells us whether it is safe
to go to GST_STATE_PLAYING or not.
2010-08-05 18:11:49 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
move a callback into the proper section of the file
2010-08-05 17:50:48 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
fix bug in time format regex
2010-08-05 17:48:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
show duration text entry for all object types
2010-08-05 16:19:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
connect to delete event instead of destroy
2010-08-05 16:14:09 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
hide empty menus
2010-08-05 16:12:45 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
ignore some UI signals when selection changes
2010-08-05 15:46:34 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
disable playback when layer is in invalid state
2010-08-05 15:46:02 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* tests/check/ges/simplelayer.c:
layer is also invalid when there are transitoins at the beginning/end
2010-08-05 15:21:57 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* tests/check/ges/simplelayer.c:
add vaid property and unit tests
2010-08-05 15:21:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
add doc comment for object-moved signal
2010-08-05 12:52:13 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update list store layer emits object-moved
2010-08-05 12:51:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
add unit tests for 'object-moved' signal
2010-08-05 12:50:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/gesmarshal.list:
add object-moved signal to simple timeline layer
2010-08-04 18:49:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
implement move up/down commands
2010-08-04 18:31:34 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
connect to move_{up,down actions
2010-08-04 18:25:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
also disallow moving past the start or end of timeline
2010-08-04 18:02:14 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
can move only when exactly one clip is selected (and not in playback/paused)
2010-08-04 17:48:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
add move up/down actions
2010-08-04 17:43:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
re-arrange tool-bar buttons
2010-08-04 17:34:51 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
don't allow changes to timeline if we're paused
2010-08-04 17:27:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
implement the stop button
2010-08-04 17:17:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
add stop button
2010-08-04 16:57:18 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
code clean-up and comments
2010-08-04 16:36:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
eliminate unecessary function prototypes
2010-08-04 16:26:39 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
move UI callbacks to end of file
2010-08-04 16:25:00 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
clean up application struct
2010-08-03 19:53:34 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
more xml tweaks
2010-08-03 19:42:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
don't connect to selected objects unless selection is homogenous
2010-08-03 19:38:13 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
UI layout tweaks
2010-08-03 19:31:23 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
only allow transitions to be added when the last object isn't a transition
2010-08-03 16:19:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
use a private struct with get_selection_foreach
2010-08-03 15:59:38 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
disable add_transition
2010-08-03 15:54:25 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
get add_transition action from xml
2010-08-03 15:51:29 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
menu/toolbar for adding transitions
2010-08-03 15:40:44 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
allow multiple selections
2010-08-03 15:17:25 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
set pipeline to ready on EOS
2010-08-03 15:03:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
make sure all actions that mutate timeline are disabled during playback
2010-08-03 14:58:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
set frequency property when spin button changed
2010-08-03 14:53:22 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update frequency spin button when selection changed
2010-08-03 14:46:21 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
add frequency and volume widgets, with signal handlers
2010-08-03 14:43:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update source volume when slider is moved
2010-08-03 14:39:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update volume slider when volume changes
2010-08-03 14:38:42 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
get freq/volume widgets
2010-08-02 19:06:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
implement background widget
2010-08-02 17:26:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
fill backround type table from enum values
2010-08-02 17:25:26 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
adjust visibility calculations
2010-08-02 17:24:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
allow adding test sources
2010-08-02 17:22:39 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
get background widgets from xml
2010-08-02 17:21:36 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
test sources
2010-07-27 15:25:20 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
add text box to set durations from formatted strings
2010-07-26 20:40:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
set sate of pipeline to NULL prior to exit
2010-07-23 19:14:21 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update text property from text widget
2010-07-23 18:59:40 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
call ges_simple_timeline_layer_add_object intead of base method
2010-07-23 18:59:11 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
completely hide properties widgets when nothign is selected
2010-07-23 18:56:48 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
refactor connecto_to_* family of functions
2010-07-23 18:43:37 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
connect to text property widgets
2010-07-23 18:42:53 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
add widgets to UI for editing text properties
2010-07-23 18:42:13 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
add signal handlers for text properties
2010-07-23 18:38:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
keep track of the type of selected objects
2010-07-23 18:36:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
add title source when action activates
2010-07-23 10:58:11 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
add text properties to UI
2010-07-22 18:07:26 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
allow multiple files to be added
2010-07-22 17:58:00 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
use file-chooser dialog when adding files
2010-07-22 13:13:20 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
disable playback when there's nothing in the timeline
2010-07-22 12:54:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
disable add_file during playback
2010-07-22 12:51:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
disable delete during playback
2010-07-22 12:48:34 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
disable properties during playback
2010-07-22 12:43:13 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update state from bus; set button icon from playback state
2010-07-22 12:20:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
set the action sensitivity, not the menu item
2010-07-22 12:17:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
toggle playback when button clicked
2010-07-22 12:08:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
fix signal handler signatures
2010-07-22 12:05:09 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
add play action/controls
2010-07-22 11:00:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
add toolbar; connect to action signals instead of menu items directly
2010-07-22 10:18:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
also set state of delete menu item
2010-07-21 20:21:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
update in-point from in-point slider
2010-07-21 19:02:09 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
add in-point slider
2010-07-21 19:01:33 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
format duration nicely
2010-07-21 18:15:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
set slider range before setting duration
2010-07-21 18:15:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
remove some unneeded function protos
2010-07-21 18:03:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
slider updates duration of selected object now
2010-07-21 17:00:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
connect to duration and max-duration changed of filesources
2010-07-21 16:29:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
do housekeeping each time selection is updated
2010-07-21 15:43:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
clean up the create_ui function a bit
2010-07-21 15:23:18 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
disable properties editor when nothing is selected
2010-07-21 15:22:29 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
rename a few attributes
2010-07-21 13:54:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
update list model when objects are removed from layer
2010-07-21 13:53:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
delete selected objects from layer when user issues delete command
2010-07-21 13:53:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
store a pointer to the list selection
2010-07-21 11:40:18 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
display filename and duration of added clip
2010-07-21 11:36:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.glade:
don't create tree model in XML
2010-07-20 19:41:58 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
make sure we get everythign we need from the XML file
2010-07-20 19:13:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
connect to layer object-{added,removed} and display message
2010-07-20 19:05:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
add some simple code to add a source to the timeline
2010-07-20 18:53:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
add liscence and some organizational comments
2010-07-20 18:38:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
we don't have to free all that much, in fact
2010-07-20 18:24:14 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
create a simple timeline layer
2010-07-20 17:59:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
pass app instance to signal handlers
2010-07-20 17:55:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
move app data to private struct
2010-07-20 17:52:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/Makefile.am:
export dynamic symbols in examples so signal autoconnect works
2010-07-20 17:05:26 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
add protos so it builds under c90 mode
2010-07-20 16:44:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/Makefile.am:
add ges-ui.c to build system
2010-07-20 16:43:03 +0200 Brandon Lewis <brandon@collabora.co.uk>
* configure.ac:
add GTK+ to configure.ac as optional dependency for examples UI
2010-07-20 16:23:40 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/ges-ui.c:
* tests/examples/ges-ui.glade:
move ui to tests/examples
2010-07-20 15:56:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-ui.c:
* tools/ges-ui.glade:
add 'add_file' menu item
2010-07-20 13:57:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-ui.c:
* tools/ges-ui.glade:
flesh out ui design a bit more
2010-07-19 19:39:26 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-ui.c:
* tools/ges-ui.glade:
quit when main window closes
2010-07-19 19:02:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-ui.c:
check in UI implementation
2010-07-19 18:09:32 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-ui.glade:
check in ui file
2010-09-02 17:55:20 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: Fix debug statement
2010-09-02 17:54:48 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/filesource.c:
tests: Fix a leak in test_filesource_images
2010-09-01 17:04:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-source.c:
GESTimelineFileSource: Don't leak strings
2010-07-16 16:43:38 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
update unit tests to catch an earlier bug
2010-07-14 16:50:16 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/text_properties.c:
check in text properties example
2010-07-14 16:14:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-source.c:
deactivate overlay when no text is present
2010-07-14 16:12:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/text_properties.c:
add unit tests for text properties
2010-07-14 15:23:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
expose text, font-desc, and alignment properties in GESTimelineSource
2010-07-14 15:19:30 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
fix typo in docstring
2010-07-14 13:18:57 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-text-overlay.c:
add conversion elements to TrackTextOverlay
2010-07-14 13:14:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
tweak gstl recalculate: cur track object sets priority for next transition
2010-07-13 18:44:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/backgroundsource.c:
* tests/check/ges/layer.c:
* tests/check/ges/overlays.c:
* tests/check/ges/titles.c:
supply type param to _find_track_objects in unit tests
2010-07-13 18:42:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
add type argument to ges_timeline_object_find_track_objects()
2010-07-13 18:14:33 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
unref timeline in unit test
2010-07-13 18:12:34 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-source.c:
don't add the same track object twice
2010-07-13 17:13:02 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
check for proper instance type in _set_* functions
2010-07-13 12:11:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.h:
fix documentation comment
2010-07-09 18:59:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-source.c:
create a text overlay with default text for every TimelineSource
2010-07-09 18:29:27 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-source.c:
* tests/check/ges/layer.c:
* tests/check/ges/simplelayer.c:
increase default priority offset for sources; update unit tests
2010-07-09 18:27:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
move this commit down where it belongs
2010-07-09 18:26:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-source.c:
override create_track_objects (plural) in TimelineSource
2010-07-09 15:59:44 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/layer.c:
test height notification
2010-07-09 13:49:23 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
update height when track object priority offset changes
2010-07-09 13:48:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
reword priority documentation comments
2010-07-09 12:10:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
use object height in gstl recalcuate
2010-07-09 12:09:29 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
initialize height to 1
2010-07-09 12:09:08 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.h:
add accessor macro
2010-07-09 11:51:21 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
add height property
2010-07-09 11:50:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
document timelineobject::priority
2010-07-08 19:01:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-object.c:
* tests/check/ges/layer.c:
expose priority-offset as a property
2010-07-08 18:52:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* tests/check/ges/layer.c:
update documentation and unit tests
2010-07-08 18:51:38 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
distinguish between base_priority, priority_offset, and gnl_priority
2010-07-07 17:07:33 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
split timeline_object_add_track_object out of create_track_object
2010-07-07 16:51:39 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline.c:
add create_track_objects
2010-07-07 15:47:51 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.h:
add create_track_objects declarations
2010-07-07 15:47:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
call create_track_objects in timeline.c
2010-08-31 13:49:21 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-transition.c:
GESTimelineTransition: Remove unneeded variable
2010-08-31 13:29:37 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tools/ges-launch.c:
ges-launch: Fix memory leak
2010-08-12 15:45:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-image-source.c:
allow borders on still image videoscale
2010-08-12 15:44:47 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
always support audio on still images
2010-08-11 18:23:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-image-source.c:
remove ffmpegcolorspace after freeze (see 626518)
2010-08-10 16:17:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
don't set max duration on still images
2010-08-10 10:54:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-image-source.c:
implement still image sources
2010-08-09 18:36:00 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-image-source.c:
naive implementation of still images (seems broken)
2010-08-09 18:35:26 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-file-source.c:
* tests/check/ges/filesource.c:
create GESTrackAudioTestSource for audio tracks when is-image is true
2010-08-09 18:34:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline.c:
set 'is-image' property true when source has an image stream type
2010-08-09 13:27:25 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/filesource.c:
set supported formats in new unit test
2010-08-09 13:26:20 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-file-source.c:
create image sources when is_image is set to true
2010-08-09 12:01:34 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
Add "is-image" property to GESTimelineFileSource
2010-08-09 11:59:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/filesource.c:
unit test for image sources
2010-08-06 12:58:08 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-image-source.c:
* ges/ges-track-image-source.h:
* ges/ges-types.h:
* ges/ges.h:
check in GESTrackImageSource
2010-08-05 12:19:32 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/Makefile.am:
ges: Also dist the generated files
2010-08-05 11:40:49 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/Makefile.am:
marshal: Fix typo in the Makefile that prevented marshal .c being built
2010-07-23 18:22:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-title-source.c:
link to the right sink pad on textoverlay object
2010-07-16 18:41:02 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
fwrite doesn't return the number of bytes written. check that fwrite is non-zero and that ferror() isn't set instead.
2010-07-16 18:39:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-screenshot.c:
don't plug encoders when raw caps are given
2010-07-16 18:37:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/thumbnails.c:
add thumbnailing example which tests rest of thumbnailing api
2010-07-16 17:38:44 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
ges_caps_set_simple was being called incorrectly
2010-07-16 18:17:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/Makefile.am:
docs: Use the proper location for header files
2010-07-16 18:00:05 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
ges: Don't forget to dist ges-timeline-overlay.h
2010-07-16 17:29:05 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
TimelinePipeline: Make sure fwrite completes successfully
2010-07-15 19:50:22 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
add option to ges-launch to save thumbnails periodicaly
2010-07-15 19:49:53 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
update documentation
2010-07-15 19:49:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
add routine to save a thumbnail in the specified encoding
2010-07-15 19:19:57 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-screenshot.c:
add todo item
2010-07-15 19:12:53 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-screenshot.c:
factor encoder-finding code into separate function
2010-07-15 18:59:50 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-screenshot.c:
use gstprofile to plug an encoder and encode the current frame
2010-07-15 16:58:22 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
add methods to retreive the current frame as a thumbnail
2010-07-15 16:56:00 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-screenshot.c:
* ges/ges-screenshot.h:
duplicate code from gstscreenshot.{c,h} and gstplaysink.{c,h}
2010-07-15 12:09:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Use smartencoder feature from encodebin
2010-07-14 13:29:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure: Require new core/base for fast pad linking
2010-07-14 13:29:23 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-title-source.c:
* ges/ges-track-video-transition.c:
GES: Switch to new fast pad linking
2010-07-08 17:10:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/transition.c:
fix mem leak in unit test
2010-07-08 16:35:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-timeline-test-source.c:
Don't expose test source enum value table
2010-07-08 15:54:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-enums.h:
don't expose transition enum value table
2010-07-08 15:54:27 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
use gtype to get the enum value for the nick
2010-07-08 13:20:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
check whether setting vtype property actually succeeds
2010-07-07 18:00:21 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-track-video-transition.c:
initialize transitions to type _TRANSITION_TYPE_NONE
2010-07-08 13:41:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-enums.h:
add new invalid enum type
2010-07-08 13:20:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-video-transition.c:
refactor duration_changed method as this is now a TrackObjectClass method
2010-07-08 13:20:08 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
remove notify::duration signal handler
2010-07-08 12:35:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
add track object virtual methods for property change notifications
2010-07-07 17:58:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-video-transition.c:
remove unneeded assertions
2010-07-07 17:34:58 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-transition.c:
* ges/ges-track-operation.c:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
remove unneeded _new methods on certain base classes
2010-07-06 19:08:56 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Add ges_track_video_test_source_set_pattern
2010-07-06 19:07:50 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-transition.c:
TrackTransition: Don't return anything for unhandled tracks
2010-07-06 19:06:24 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-transition.c:
TrackTransition: Remove second argument from duration_changed vmethod
And get properties directly from parent classes instead
2010-07-06 19:05:38 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-video-test-source.c:
GES: whitespace fixes
2010-07-06 19:04:42 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-transition.c:
GES: Simplify loops
2010-07-06 19:03:52 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
GES: Remove un-needed branches
res it initialized to NULL
2010-07-06 19:03:05 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
GES: Fix initialization values
2010-07-06 19:02:02 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-transition.c:
GES: Remove useless variables
2010-07-06 19:00:50 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-track-video-test-source.h:
GES: Fix function prototypes
2010-07-06 18:58:16 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-test-source.c:
TimelineTestSource: Set freq/volume whether mute or not
2010-07-06 18:57:22 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-overlay.c:
TimelineOverlay: Fix doc
2010-07-06 18:54:33 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-video-transition.c:
* tests/check/ges/transition.c:
TrackVideoTransition: Avoid switching from crossfade to other types
This now exposes a bug in the TimelineTransition, since it will have
a transition type different from its track objects.
2010-07-06 16:27:21 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
SimpleTimelineLayer: Fix top-level doc
2010-07-06 16:27:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
TimelineLayer: Document _set_priority
2010-07-06 16:26:48 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
TrackVideoTransition: Use proper transition type
2010-07-06 16:26:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-utils.c:
utils: Document timeline_new_audio_video
2010-07-06 16:25:50 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
docs: hide _get_type/TYPE in private sections
2010-07-02 16:39:33 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-transition.h:
make type field of video transition private
2010-07-02 16:23:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges.types:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-test-source.h:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-track-audio-test-source.h:
* ges/ges-track-audio-transition.h:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.h:
* ges/ges-track-transition.h:
* ges/ges-track-video-test-source.h:
* ges/ges-track-video-transition.h:
* ges/ges.h:
another massive documentation update
2010-07-02 15:42:48 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* ges/ges-track-audio-test-source.c:
* tests/check/ges/backgroundsource.c:
expose freq and volume props in GESTimelineTestSource
2010-07-02 14:46:09 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-test-source.h:
add routines to AudioTestSource to set freq and volume
2010-07-02 13:14:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* tests/check/ges/overlays.c:
remove 'mute' property from GESTimelineTextOverlay
2010-07-02 12:57:38 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-enums.c:
fix incorrect type name strings
2010-07-02 12:48:11 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges.types:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-test-source.h:
* tests/check/ges/backgroundsource.c:
convert rest of code to use GESVideoTestPattern
2010-07-02 12:47:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/ges-enums.c:
* ges/ges-enums.h:
add GESVideoTestPattern enum
2010-07-02 12:26:55 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/overlays.c:
* tests/check/ges/titles.c:
update unit tests
2010-07-02 12:26:42 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
make sure to set properties on new track objects
2010-07-02 12:25:58 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
replace existing text position enums
2010-07-02 12:25:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
replace existing text position enums
2010-07-02 12:12:30 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-enums.c:
* ges/ges-enums.h:
add text positioning enums
2010-07-01 18:53:08 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
move missing symbol to enums section
2010-07-01 18:50:55 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
update documentation files
2010-07-01 18:50:30 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-track-video-transition.c:
* tests/check/ges/simplelayer.c:
* tests/check/ges/transition.c:
* tools/ges-launch.c:
move and rename TRANSITION_VTYPE into enums.h and rename
2010-07-01 17:24:49 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges-track.c:
* ges/ges-track.h:
move track type enum to ges-enums.{h,c}
2010-07-01 17:03:55 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-enums.c:
* ges/ges-enums.h:
* ges/ges.h:
check in skeletal ges-enums.{c,h}
2010-07-01 16:48:45 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-transition.c:
* ges/ges-track-filesource.c:
* ges/ges-track-object.c:
* ges/ges-track-operation.c:
* ges/ges-track-operation.h:
* ges/ges-track-source.h:
* ges/ges-track-text-overlay.c:
* ges/ges-track-title-source.c:
* ges/ges-track-transition.c:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-transition.c:
massive documentation updates
2010-07-01 12:35:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
GESTimelineTextOverlay inherits from GESTimelineOverlay
2010-07-01 12:34:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
check in emtpy GESTimelineOverlay class
2010-07-01 11:17:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-text-overlay.c:
* ges/ges-timeline-text-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/overlays.c:
* tests/examples/overlays.c:
GESTimelineOverlay -> GESTimelineTextOverlay
2010-06-30 20:25:18 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-test-source.c:
* ges/ges-timeline-test-source.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
* tools/ges-launch.c:
GESTimelineBackgroundSource -> GESTimelineTestSource
2010-06-30 20:01:18 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-background-source.c:
* ges/ges-timeline-title-source.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-test-source.h:
* ges/ges-types.h:
* ges/ges.h:
GESTrackAudioBackgroundSource -> GESTrackAudioTestSource
2010-06-30 19:34:29 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-background-source.c:
* ges/ges-track-audio-test-source.c:
* ges/ges-track-audio-test-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-video-test-source.c:
* ges/ges-track-video-test-source.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
GESTrackVideoBackgroundSource -> GESTrackVideoTestSource
2010-06-30 18:13:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-overlay.c:
* ges/ges-track-text-overlay.c:
* ges/ges-track-text-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
* tests/check/ges/overlays.c:
GESTrackVideoOverlay -> GESTrackTextOverlay
2010-06-30 18:02:49 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-overlay.c:
* ges/ges-track-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
remove GESTrackOverlay
2010-06-30 17:59:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-overlay.c:
* ges/ges-track-video-overlay.c:
* ges/ges-track-video-overlay.h:
* tests/check/ges/overlays.c:
GESTrackVideoOverlay inherits directly from GESTrackOperation
2010-06-30 17:50:49 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-operation.c:
* ges/ges-track-operation.h:
* ges/ges-types.h:
check in GESTrackOperation
2010-06-30 17:34:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* ges/ges-track-video-background-source.h:
documentation fixes
2010-06-30 17:29:32 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
update documentation
2010-06-30 17:29:21 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-track-overlay.c:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-track-video-overlay.c:
* ges/ges-track-video-overlay.h:
* ges/ges-types.h:
* tests/check/ges/overlays.c:
* tests/check/ges/titles.c:
GESTrackVideoTitleSource -> GESTrackTitleSource
2010-06-30 17:02:10 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-title-source.c:
* ges/ges-track-overlay.c:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-track-video-overlay.c:
* ges/ges-track-video-overlay.h:
* ges/ges-track-video-title-source.c:
* ges/ges-track-video-title-source.h:
* ges/ges-types.h:
* ges/ges.h:
remove GESTrackTitleSource
2010-06-30 16:47:29 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-source.h:
fix doc comments
2010-06-30 16:47:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
* ges/ges-track-video-title-source.c:
* ges/ges-track-video-title-source.h:
GESTrackVideoTitleSource inherits directly from GESTrackObject
2010-06-30 16:34:47 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-background-source.c:
* ges/ges-track-audio-background-source.h:
* ges/ges-track-background-source.c:
* ges/ges-track-background-source.h:
* ges/ges-types.h:
* ges/ges.h:
remove GESTrackBackgroundSource class
2010-06-30 16:29:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-background-source.c:
* ges/ges-track-audio-background-source.h:
GESTrackAudioBackgroundSource inherits from GESTrackSource
2010-06-30 16:25:01 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-background-source.c:
* ges/ges-track-video-background-source.h:
GESTrackVideoBackgroundSource inherits directly from track object
2010-06-30 15:40:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-source.c:
* ges/ges-track-source.h:
move create_element virtual method up to TimelineSource class
2010-06-30 15:39:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
fix documentation mistake
2010-06-30 13:22:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-audio-title-source.c:
* ges/ges-track-audio-title-source.h:
* ges/ges-types.h:
* ges/ges.h:
remove GESTrackAudioTitleSource
2010-06-28 18:24:12 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
create test track object instead of audio-title-source
2010-06-28 18:23:37 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-transition.c:
keep track of and release request pads for smpte also
2010-06-28 18:20:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-transition.c:
free mixer in dispose separately from sink pads
2010-06-28 17:33:53 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/.gitignore:
examples: Ignore files
2010-06-28 17:33:34 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/.gitignore:
check: Ignore files
2010-06-28 17:24:25 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
docs: Add links to all new documentation files
2010-06-28 17:23:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/overlays.c:
tests: Add <stdlib.h> for exit usage
2010-06-25 12:04:47 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-overlay.c:
don't forget to unref pad targets
2010-06-23 18:23:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-overlay.c:
rough overlay implementation
2010-06-23 18:22:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/overlays.c:
check in overlay test app
2010-06-23 16:42:14 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-overlay.c:
activate property setting functions
2010-06-23 16:38:45 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/overlays.c:
activate remaining overlay tests
2010-06-23 16:38:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges.h:
add video overlays to main header
2010-06-23 16:32:25 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-overlay.c:
create timeline-overly creates appropriate track object
2010-06-23 16:30:18 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-video-overlay.c:
* ges/ges-track-video-overlay.h:
* ges/ges-types.h:
check in GESTrackVideoOverlay
2010-06-21 16:22:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-overlay.c:
* ges/ges-track-overlay.c:
* ges/ges-track-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
check in ges-track-overlay.{c,h}
2010-06-21 16:04:22 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/overlays.c:
check in overlay unit tests
2010-06-21 15:47:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-overlay.c:
* ges/ges-timeline-overlay.h:
* ges/ges-types.h:
* ges/ges.h:
check in timelineoverlay, structural copy of GESTimelineTitleSource
2010-06-21 16:04:50 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.h:
update doc comment
2010-06-18 16:36:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-transition.c:
remove unneeded paramenter to create_element
2010-06-18 16:26:24 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/transition.c:
update unit tests
2010-06-18 16:22:38 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
update documentation
2010-06-18 16:22:21 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
push struct fields down to VideoTransition
2010-06-18 15:54:37 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-video-transition.c:
push make_video_bin() down into subclass
2010-06-18 15:21:02 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-audio-transition.h:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
push relevant struct fields into AudioTransition
2010-06-18 15:20:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
update documentation
2010-06-18 15:04:50 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-transition.c:
* ges/ges-track-transition.c:
push make_audio_bin down into subclass
2010-06-18 13:42:47 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
add duration_changed virtual method to GESTrackTransition
2010-06-18 12:55:30 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
add create_element vmethod to GESTrackTransition
2010-06-18 11:50:08 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
create transition subtype according to track type
2010-06-18 11:24:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-track-video-transition.c:
* ges/ges-track-video-transition.h:
* ges/ges-types.h:
check in GESTrackVideoTransition, empty subclass of TrackTransition
2010-06-18 11:09:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-audio-transition.c:
* ges/ges-track-audio-transition.h:
* ges/ges-types.h:
check in GESTrackAudioTransition, empyt subclass of TrackTransition
2010-06-17 18:31:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-title-source.c:
* ges/ges-track-video-title-source.h:
fix header file param names
2010-06-17 12:25:27 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-title-source.c:
fix stupid copy/paste typo
2010-06-17 11:22:30 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-track-video-title-source.c:
free existing strings before assigning new ones
2010-06-17 11:21:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/titles.c:
clean up some memory leaks in the titles unit test
2010-06-16 19:04:53 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/titles.c:
unit tests for {h,v}alignment properties
2010-06-16 19:03:51 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
implement {h,v}alignment property for timeline titles
2010-06-16 19:02:40 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
documentation
2010-06-16 19:01:48 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-title-source.c:
* ges/ges-track-video-title-source.h:
add ..._set_{h,v}alignment() methods to video titles
2010-06-16 16:58:42 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
add font-desc property to TimelineTitleSource
2010-06-16 16:58:13 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-video-title-source.c:
* ges/ges-track-video-title-source.h:
add ...set_font_desc() method to VideoTitleSource
2010-06-16 13:27:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-title-source.c:
set black background on titles by default
2010-06-16 13:22:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
add title sources to ges-launch
2010-06-16 13:21:19 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
have timeline title source create audio title sources
2010-06-16 13:20:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-track-audio-title-source.c:
* ges/ges-track-audio-title-source.h:
* ges/ges-types.h:
* ges/ges.h:
check in ges-track-audio-title-source.{c,h}
2010-06-15 19:22:04 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-title-source.c:
don't forget to check for null
2010-06-15 19:21:37 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
set text on video track objects when text property changes
2010-06-15 19:20:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
implement ges_timeline_title_source_create_track_object
2010-06-15 17:10:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-background-source.h:
remove trailing '$' accidentally pasted
2010-06-15 17:09:50 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
update documentation
2010-06-15 17:09:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-title-source.c:
* ges/ges-track-video-title-source.h:
these should have been checked in before
2010-06-15 13:16:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-title-source.c:
add text property to GESTimelineTitleSource
2010-06-15 13:14:14 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/titles.c:
check in unit tests for titles
2010-06-14 19:19:23 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-background-source.c:
* ges/ges-timeline-background-source.h:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-timeline-transition.c:
* ges/ges-track-audio-background-source.c:
* ges/ges-track-audio-background-source.h:
* ges/ges-track-background-source.c:
* ges/ges-track-background-source.h:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-track-video-background-source.c:
* ges/ges-track-video-background-source.h:
massive update to doc comments
2010-06-14 19:18:46 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
* ges/ges-track-video-background-source.h:
remove the zone plate and gamut enum values
2010-06-14 17:52:29 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
massive update to documentation
2010-06-14 17:52:09 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-track-video-background-source.h:
* ges/ges-types.h:
* ges/ges.h:
check in skeletal GESTrackVideoTitleSource
2010-06-14 15:34:08 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-track-title-source.c:
* ges/ges-track-title-source.h:
* ges/ges-types.h:
check in skeletal GESTrackTitleSource
2010-06-14 13:31:15 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-timeline-title-source.c:
* ges/ges-timeline-title-source.h:
* ges/ges-types.h:
* ges/ges.h:
check in sekeletal GESTimelineTitleSource
2010-06-11 17:57:20 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/backgroundsource.c:
don't forget to unref objects in unit tests
2010-06-11 17:21:45 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges.h:
* tests/check/ges/backgroundsource.c:
test vpatern property in unit tests
2010-06-11 17:02:55 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-background-source.c:
make audio background-sources output silence
2010-06-11 16:55:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
use ges_timeline_background_source_new_for_nick when creating pattern sources
2010-06-11 16:53:03 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
don't initialize vpattern field
2010-06-11 16:51:44 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
* ges/ges-timeline-background-source.h:
implement ges_timeline_background_source_new_for_nick()
2010-06-11 16:50:07 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
move enum table into file scope
2010-06-11 15:28:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
rewrite print_pattern_list to use GEnumValues
2010-06-11 15:28:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
remove unnecessary g_print
2010-06-11 15:19:28 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
switch to using GESTimelineBackgroundSource objects for patterns
2010-06-11 15:18:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
set pattern on newly-created video track objects
2010-06-11 15:17:42 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
implement vpattern gobject property of tl background source
2010-06-11 15:16:40 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
add big blob of pattern enum values copied from videotestsrc
2010-06-11 15:15:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.h:
add vpattern field to GESTimelineBackground source
2010-06-11 15:14:40 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-background-source.c:
* ges/ges-track-video-background-source.h:
implement setting pattern on video background sources
2010-06-11 13:44:40 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-background-source.c:
* ges/ges-track-video-background-source.h:
add routines to set track object pattern
2010-06-11 13:41:44 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-background-source.h:
add enum for video patterns
2010-06-11 13:40:54 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/backgroundsource.c:
test Backgroudn sources in layers
2010-06-11 10:42:00 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
implment GESTimelineBackground source create_track_object
2010-06-11 10:40:02 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
add audio background source to build system
2010-06-11 10:39:14 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-types.h:
add audio background source to types.h
2010-06-11 10:37:49 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-audio-background-source.c:
* ges/ges-track-audio-background-source.h:
check in audio background source
2010-06-10 17:44:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-types.h:
add ges video-track background to build system
2010-06-10 13:21:47 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-video-background-source.c:
* ges/ges-track-video-background-source.h:
check in ges-track-video-background-source.{c,h}
2010-06-10 13:29:22 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
add GESTrackBackgroundSource to build system
2010-06-10 17:42:09 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges.h:
add track background source to header
2010-06-10 17:43:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-types.h:
add track background source to ges-types.h
2010-06-10 13:51:33 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-background-source.c:
* ges/ges-track-background-source.h:
check in GESTrackBackgroundSource
2010-06-10 13:23:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-types.h:
add GESTimelineBackgroundSource to build system
2010-06-10 17:41:57 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges.h:
add timeline background source to header
2010-06-10 13:22:36 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/backgroundsource.c:
check in background source unit test
2010-06-10 13:21:06 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-background-source.c:
* ges/ges-timeline-background-source.h:
check in ges-timeline-background-source.{c,h}
2010-06-28 17:23:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/simple1.c:
* tests/examples/transition.c:
tests: Add <stdlib.h> for exit usage
2010-07-07 01:21:38 -0300 Thiago Santos <thiago.sousa.santos@collabora.co.uk>
* docs/libs/Makefile.am:
* tests/examples/simple1.c:
* tests/examples/transition.c:
* tools/ges-launch.c:
Fix building issues
Adds missing headers to some files and needed cflags to gtk-doc
scanner build
2010-06-28 17:08:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Fix leaked caps
2010-06-21 11:54:01 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: unref all pads
2010-06-21 11:53:30 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Make a copy of the provided GstEncodingProfile
2010-06-21 11:52:49 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Properly release playsink and encodebin
2010-06-21 11:52:01 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: finalize => dispose
We want to release our objects before the parent GstBin class does so.
2010-06-21 11:47:44 +0200 Edward Hervey <bilboed@bilboed.com>
* tools/ges-launch.c:
ges-launch: Don't leak caps
2010-06-21 11:47:21 +0200 Edward Hervey <bilboed@bilboed.com>
* tools/ges-launch.c:
ges-launch: Properly free profile and outputuri
2010-06-17 11:45:27 +0200 Edward Hervey <bilboed@bilboed.com>
* tools/ges-launch.c:
ges-launch: Cleanup profile
2010-06-14 19:40:50 +0200 Edward Hervey <bilboed@bilboed.com>
* ges/ges-track-transition.c:
GESTrackTransition: Release all pads.
Whether calling get_request_pad or get_static_pad we always end up
with an extra reference.
Also keep a reference on videomixer so it doesn't go away before we
call _release_request_pad() on it with the proper pads to release.
2010-06-14 19:12:42 +0200 Edward Hervey <bilboed@bilboed.com>
* common:
Update to latest common
2010-06-11 19:34:39 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/transition.c:
examples: Fix debug statement
2010-06-10 16:19:11 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
release the request pads in dispose
2010-06-10 16:14:20 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
don't keep an extra reference to vsmpte
2010-06-10 12:52:41 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
add elemt. to bin in arbitrary_fill_track_func
2010-06-09 18:57:59 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
fix typos in comment block
2010-06-09 18:56:55 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
gstl_recalculate() won't set priorities to -1
2010-06-09 16:35:17 +0200 Brandon Lewis <brandon@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-transition.h:
ges/ges-track-transition.h: add missing function prototype
2010-06-09 17:11:56 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tools/ges-launch.c:
tools/ges-launch.c: C90 fixes
2010-06-09 17:09:10 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: C90 fixes
2010-06-09 17:08:31 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/test4.c:
tests/examples/test4.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/examples/concatenate.c:
tests/check/ges/concatenate.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/transition.c:
tests/check/ges/transition.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/simplelayer.c:
tests/check/ges/simplelayer.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* tests/check/ges/filesource.c:
tests/check/ges/filesource.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-utils.h:
ges/ges-utils.h: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track.h:
ges/ges-track.h: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track.c:
ges/ges-track.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-object.c:
ges/ges-track-object.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
ges/ges-timeline-transition.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-object.c:
ges/ges-timeline-object.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-layer.c:
ges/ges-timeline-layer.c: C90 fixes
2010-06-09 16:27:43 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
ges/ges-simple-timeline-layer.c: C90 fixes
2010-06-09 13:53:32 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: Actually use the WARNING/ERROR CFLAGS
We weren't detecting all these issues previously
2010-06-09 13:53:07 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-transition.c:
GESTrackTransition: Fix debug statement
2010-06-09 13:52:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Remove all tracks/layers when being disposed
2010-06-09 13:52:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
GESTimelineLayer: Release all layer/tracks when being disposed
2010-06-09 11:22:05 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: set referece to vsmpte to NULL after freeing
2010-06-09 11:21:26 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: was freeing same GstController twice in _dispose()
2010-06-09 11:17:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
common: Update to latest submodule revision
2010-06-08 18:38:44 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/simplelayer.c:
check: Check that all objects are removed from the layer
This currently fails
2010-06-08 18:37:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/transition.c:
check: Use release_track_object instead of unref
2010-06-08 18:37:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-transition.c:
GESTrackTransition: Unref the ControlSource in dispose
2010-06-08 18:36:37 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges.c:
ges: Initialize GstController in ges_init
2010-06-04 19:53:35 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
ges/ges-simple-timeline-layer.c: print a warning when transitions overlap
2010-06-04 18:31:25 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
ges/ges-timeline-transition.c: can't set enums by nick
2010-06-04 18:07:39 +0200 Brandon Lewis <brandon@collabora.co.uk>
* ges/ges-timeline-transition.c:
ges/ges-timeline-transition.c: initialize vtype enum type from static list of GEnumValues
2010-06-04 17:53:15 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/.gitignore:
* tools/.gitignore:
tools/examples: Ignore more files
2010-06-04 17:50:42 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* Makefile.am:
* configure.ac:
* tests/examples/Makefile.am:
* tools/Makefile.am:
* tools/ges-launch.c:
tools: Moving playlist from examples and making it installable
It is now called ges-launch
2010-06-04 12:17:56 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: allow file / pattern durations to be 0 (but not transitions)
2010-06-04 12:17:28 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: clean up playlist help text
2010-06-03 19:14:41 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: better sanity checking of arguments
2010-06-03 19:13:42 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: add option to print avail. transitions/patterns. update help strings
2010-06-03 19:04:11 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/simplelayer.c:
* tests/check/ges/transition.c:
tests/check/ges/{simplelayer.c,transition.c}: update unit tests
2010-06-03 19:02:58 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: adjust to the change in VTYPE_CROSSFADE
2010-06-03 19:01:21 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
ges/ges-timeline-transition.{c,h}: value for VTYPE_CROSSFADE changed to 512 and exported in ges-timeline-transition.h
2010-06-02 18:58:14 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/transition.c:
tests/check/ges/transition.c: test that changing timeline vtype sets trackobj vtype
2010-06-02 18:57:10 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-timeline-transition.c:
ges/ges-timeline-transition.c: implement vtype gobject property on GESTimelineTransitions
2010-06-02 18:55:52 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
ges/ges-track-transition.{c,h}: add ability to change smptealpha type
2010-06-02 16:52:02 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/simplelayer.c:
* tests/check/ges/transition.c:
tests/check/ges/{simplelayer.c,tests/check/ges/transition.c}: sync with previous api change
2010-06-02 16:50:07 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
ges/ges-timeline-transition.{c,h}: api change, pass gint instead of GEnumValue to new()
2010-06-02 16:43:10 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* tests/check/ges/transition.c:
ges/ges-timeline-transition.{c,h},tests/.../transition.c: type change of vtype to gint from GEnumValue
2010-06-02 16:35:57 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-timeline-transition.c:
ges/ges-timeline-transition.c: sync with API change in previous commit
2010-06-02 16:27:58 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
ges/ges-track-transition.{c,h}: api change: pass gint instead of GEnumValue
2010-06-02 15:18:55 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* tests/check/ges/transition.c:
ges/ges-track-transition.{c,h}, tests/check/ges/transition.c: change vtype from GEnumValue to simple gint;
2010-06-02 13:50:06 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/transition.c:
tests/check/ges/transition.c: make sure unit tests work properly
2010-06-02 13:20:09 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/transition.c:
tests/check/ges/transition.c: oops, unit tests using wrong api
2010-06-02 12:46:05 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/Makefile.am:
tests/check/Makefile.am: add transition unit tests to make check
2010-06-02 12:34:57 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/transition.c:
tests/check/ges/transition.c: check in transition unit tests
2010-06-01 13:22:05 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-filesource.h:
ges/ges-track-filesource.h: fix typo in documentation commments
2010-06-01 11:57:42 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-filesource.h:
ges/ges-track-filesource.h: fix incorrect definition of GESTrackFileSource structs.
2010-05-31 18:59:12 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.h:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-filesource.h:
* ges/ges-track-object.h:
* ges/ges-track-source.h:
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
* ges/ges-track.h:
Add missing documentation
2010-05-31 15:42:23 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/simplelayer.c:
* tests/examples/transition.c:
tests/check/ges/{simplelayer.c,transition.c}: create audio tracks in demos
2010-05-31 15:40:52 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: implement audio crossfades
2010-05-31 15:38:14 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
ges/ges-track-transition.{c,h}: add fields for audio interpolation to obj
2010-05-28 11:42:29 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* tests/check/ges/simplelayer.c:
fix bugs
2010-05-28 03:02:49 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
ges/ges-track-transition.{c,h}: rename some members of ges-track-transition struct to separate between audio and video objects.
2010-05-28 02:31:42 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: factor out code which produces video bin into a seprate routine
2010-05-28 00:19:24 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: make audio stream of audiotestsrc silent (it's much less annoying).
2010-05-28 00:16:28 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: fix inappropriate down-casts in playlist.py
2010-05-28 00:12:45 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
ges/ges-track-transition.c: give gnloperations a unique name
2010-05-28 00:11:51 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
ges/ges-simple-timeline-layer.c: also error when transition duration exceeds that of its neighbors
2010-05-27 23:37:11 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
ges/ges-simple-timeline-layer.c: don't allow user to create timelines with adjacent transitions
2010-05-27 23:36:10 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
ges/ges-simple-timeline-layer.c: implement simple stair-step like priority management scheme.
2010-05-27 23:10:04 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/check/ges/simplelayer.c:
tests/check/ges/simplelayer.c: check in massive unit test case for GSTL with transitions
2010-05-27 12:06:00 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: add transitions to playlist example
2010-05-27 12:04:05 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: use ges_timeline_transition_new_from_nick()
2010-05-27 12:02:10 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
ges/ges-timeline-transition.{c,h}: add convenience routine for creating transitions docs/libs/ges-sections.txt: add routine to documentation
2010-05-26 18:19:41 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
tests/examples/playlist.c: re-work pattern command line syntax
2010-05-26 16:57:59 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
ests/examples/transition.c: create transition with specified type
2010-05-26 16:36:24 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
ges/ges-track-transition.{c,h}: add support for other wipes with smptealpha
2010-05-26 16:33:44 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
ges/ges-timeline-transition.{c,h}: add a type field
2010-05-26 13:27:46 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: pass transition type to make_timeline
2010-05-26 13:05:18 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: make -t option work with values supported by smpte + "crossfade"
2010-05-26 13:04:06 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: add routines for identifying transitions
2010-05-26 11:38:19 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: split out "make_timeline" into separate routine
2010-05-26 10:48:13 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: remove some cruft from transition example
2010-05-25 19:10:27 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: print values in seconds not nseconds
2010-05-25 19:07:21 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
ges-track-transition.c: set interpolation control points properly from gnlobject properties
2010-05-25 19:06:10 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.h:
ges-track-transition.c: GstControlSource -> GstInterpolationControlSource
2010-05-25 16:44:58 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: cast arguments to g_object_set
2010-05-25 16:42:47 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
ges-track-transition.c: create gst-controller for transition
2010-05-25 16:41:53 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
ges-track-transition.c: add controller and control-source members
2010-05-25 16:35:16 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
depend on GST_CONTROLLER
2010-05-25 13:44:57 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-transition.c:
* ges/ges-track-transition.c:
* tests/examples/transition.c:
hacking
2010-05-24 17:51:31 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
tests/examples/transition.c: create transition when duration > 0
2010-05-24 17:39:45 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/Makefile.am:
dist transition.c
2010-05-24 17:39:07 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/transition.c:
check in single transition demo
2010-05-24 14:58:55 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-types.h:
ges/ges-types.h: add typedefs for GESTrackTransition[Class] structs
2010-05-24 14:57:12 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.h:
ges-track-transition.h: fix typo
2010-05-24 14:55:53 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/Makefile.am:
ges/Makefile.am: dist ges-track-transition.c,h
2010-05-24 13:08:32 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.c:
* ges/ges-track-transition.h:
skeletal implementation of GESTrackTransition
2010-05-24 12:34:36 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* ges/ges-track-transition.h:
check-in ges-track-transition.h
2010-05-24 10:59:43 +0200 Brandon Lewis <brandon.lewis@collabora.co.uk>
* tests/examples/playlist.c:
playlist.c: working pattern sources
2010-06-02 11:49:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/playlist.c:
examples: Add a looping feature to playlist example
Allows playing the timeline repeatedly a certain number of times
2010-05-25 16:22:58 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Freeze state of Tracks when doing an async state change
2010-05-20 10:46:38 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/.gitignore:
* tests/examples/Makefile.am:
* tests/examples/concatenate.c:
examples: New concatenate examples.
Allows concatenating several files of the same type together
2010-05-20 10:44:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-utils.c:
* ges/ges-utils.h:
* ges/ges.h:
GES: Add a new utility file
API : ges_timeline_new_audio_video()
2010-05-11 15:03:33 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/.gitignore:
examples: Ignore some files
2010-05-20 12:29:30 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Only remove the playsink if it was used
2010-05-19 15:50:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/Makefile.am:
docs: Use proper CFLAGS/LIBS when building docs
2010-05-19 15:50:41 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Remove unused variable
2010-05-19 12:39:23 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/.gitignore:
* tests/examples/.gitignore:
tests: ignore more files
2010-05-19 12:38:21 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/playlist.c:
examples: Allow setting null duration on files
This will make the timeline use GstDiscoverer to analyze the file.
2010-05-19 12:36:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
* ges/ges-timeline.h:
GESTimeline: Use GstDiscoverer for incomplete filesources
If a GESTimelineFileSource is added to a layer and:
* It doesn't have specified supported formats
* OR it doesn't have a specified maximum duration
* OR it doesn't have a specifed duration
Then we asynchronously send it to the GstDiscoverer.
If this happens, the state change of the timeline from READY to
PAUSED will happen asynchronously and be completed when everything
has been properly discovered.
Part 2 of GstDiscoverer integration
2010-05-19 12:24:44 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* tests/check/ges/filesource.c:
GESTimelineFileSource: Add 'max-duration' and 'supported-formats' properties
* max-duration is the total length of the File.
* supported-formats is the various track types this filesource can produce
trackobjects for. This should maybe be moved to parent classes in the
future
Step 1 of GstDiscoverer integration
2010-05-19 12:19:37 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: Properly set default duration
Set it in the instance_init to GST_SECOND, But let the subclasses override
it.
This allows subclasses to set a different default duration
2010-05-19 12:14:34 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
GESSimpleTimelineLayer: Recalculate positions when object duration change
This ensures that if someone changes the duration, the clips still remain
contiguous and in the proper order.
2010-05-18 19:07:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* ges/Makefile.am:
configure: Depend on gstreamer-discoverer
2010-05-18 17:43:28 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
* ges/ges-track.h:
GESTrack: Make GESTrackType a flag, and add GES_TRACK_TYPE_UNKNOWN
Also add a bit more documentation about it.
2010-05-18 15:19:06 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/.gitignore:
* docs/libs/doc-registry.xml:
* docs/libs/ges-decl-list.txt.bak:
* docs/libs/ges-decl.txt.bak:
* docs/libs/html/GESCustomTimelineSource.html:
* docs/libs/html/GESSimpleTimelineLayer.html:
* docs/libs/html/GESTimeline.html:
* docs/libs/html/GESTimelineFileSource.html:
* docs/libs/html/GESTimelineLayer.html:
* docs/libs/html/GESTimelineObject.html:
* docs/libs/html/GESTimelinePipeline.html:
* docs/libs/html/GESTimelineSource.html:
* docs/libs/html/GESTimelineTransition.html:
* docs/libs/html/GESTrack.html:
* docs/libs/html/GESTrackFileSource.html:
* docs/libs/html/GESTrackObject.html:
* docs/libs/html/GESTrackSource.html:
* docs/libs/html/api-index-full.html:
* docs/libs/html/architecture.xml:
* docs/libs/html/ch01.html:
* docs/libs/html/ch02.html:
* docs/libs/html/ch03.html:
* docs/libs/html/ch04.html:
* docs/libs/html/ges-Initialization.html:
* docs/libs/html/ges-architecture.html:
* docs/libs/html/ges-hierarchy.html:
* docs/libs/html/ges.devhelp:
* docs/libs/html/ges.devhelp2:
* docs/libs/html/home.png:
* docs/libs/html/index.html:
* docs/libs/html/index.sgml:
* docs/libs/html/layer_track_overview.png:
* docs/libs/html/left.png:
* docs/libs/html/right.png:
* docs/libs/html/style.css:
* docs/libs/html/up.png:
* docs/libs/tmpl/ges-common.sgml:
* docs/libs/tmpl/ges-common.sgml.bak:
* docs/libs/tmpl/ges-custom-timeline-source.sgml:
* docs/libs/tmpl/ges-custom-timeline-source.sgml.bak:
* docs/libs/tmpl/ges-simple-timeline-layer.sgml:
* docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak:
* docs/libs/tmpl/ges-timeline-filesource.sgml:
* docs/libs/tmpl/ges-timeline-filesource.sgml.bak:
* docs/libs/tmpl/ges-timeline-layer.sgml:
* docs/libs/tmpl/ges-timeline-layer.sgml.bak:
* docs/libs/tmpl/ges-timeline-object.sgml:
* docs/libs/tmpl/ges-timeline-object.sgml.bak:
* docs/libs/tmpl/ges-timeline-pipeline.sgml:
* docs/libs/tmpl/ges-timeline-pipeline.sgml.bak:
* docs/libs/tmpl/ges-timeline-source.sgml:
* docs/libs/tmpl/ges-timeline-source.sgml.bak:
* docs/libs/tmpl/ges-timeline-transition.sgml:
* docs/libs/tmpl/ges-timeline-transition.sgml.bak:
* docs/libs/tmpl/ges-timeline.sgml:
* docs/libs/tmpl/ges-timeline.sgml.bak:
* docs/libs/tmpl/ges-track-filesource.sgml:
* docs/libs/tmpl/ges-track-filesource.sgml.bak:
* docs/libs/tmpl/ges-track-object.sgml:
* docs/libs/tmpl/ges-track-object.sgml.bak:
* docs/libs/tmpl/ges-track-source.sgml:
* docs/libs/tmpl/ges-track-source.sgml.bak:
* docs/libs/tmpl/ges-track.sgml:
* docs/libs/tmpl/ges-track.sgml.bak:
* docs/libs/tmpl/ges-unused.sgml:
* docs/libs/xml/api-index-deprecated.xml:
* docs/libs/xml/api-index-full.xml:
* docs/libs/xml/ges-common.xml:
* docs/libs/xml/ges-custom-timeline-source.xml:
* docs/libs/xml/ges-doc.bottom:
* docs/libs/xml/ges-doc.top:
* docs/libs/xml/ges-simple-timeline-layer.xml:
* docs/libs/xml/ges-timeline-filesource.xml:
* docs/libs/xml/ges-timeline-layer.xml:
* docs/libs/xml/ges-timeline-object.xml:
* docs/libs/xml/ges-timeline-pipeline.xml:
* docs/libs/xml/ges-timeline-source.xml:
* docs/libs/xml/ges-timeline-transition.xml:
* docs/libs/xml/ges-timeline.xml:
* docs/libs/xml/ges-track-filesource.xml:
* docs/libs/xml/ges-track-object.xml:
* docs/libs/xml/ges-track-source.xml:
* docs/libs/xml/ges-track.xml:
* docs/libs/xml/object_index.sgml:
* docs/libs/xml/tree_index.sgml:
* docs/libs/xml/version.entities:
docs: And remove all the stuff that's meant to be generated at runtime
2010-05-18 12:56:24 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/doc-registry.xml:
* docs/libs/ges-decl-list.txt.bak:
* docs/libs/ges-decl.txt.bak:
* docs/libs/ges-sections.txt:
* docs/libs/html/GESCustomTimelineSource.html:
* docs/libs/html/GESSimpleTimelineLayer.html:
* docs/libs/html/GESTimeline.html:
* docs/libs/html/GESTimelineFileSource.html:
* docs/libs/html/GESTimelineLayer.html:
* docs/libs/html/GESTimelineObject.html:
* docs/libs/html/GESTimelinePipeline.html:
* docs/libs/html/GESTimelineSource.html:
* docs/libs/html/GESTimelineTransition.html:
* docs/libs/html/GESTrack.html:
* docs/libs/html/GESTrackFileSource.html:
* docs/libs/html/GESTrackObject.html:
* docs/libs/html/GESTrackSource.html:
* docs/libs/html/api-index-full.html:
* docs/libs/html/architecture.xml:
* docs/libs/html/ch01.html:
* docs/libs/html/ch02.html:
* docs/libs/html/ch03.html:
* docs/libs/html/ch04.html:
* docs/libs/html/ges-Initialization.html:
* docs/libs/html/ges-architecture.html:
* docs/libs/html/ges-hierarchy.html:
* docs/libs/html/ges.devhelp:
* docs/libs/html/ges.devhelp2:
* docs/libs/html/home.png:
* docs/libs/html/index.html:
* docs/libs/html/index.sgml:
* docs/libs/html/layer_track_overview.png:
* docs/libs/html/left.png:
* docs/libs/html/right.png:
* docs/libs/html/style.css:
* docs/libs/html/up.png:
* docs/libs/tmpl/ges-common.sgml:
* docs/libs/tmpl/ges-common.sgml.bak:
* docs/libs/tmpl/ges-custom-timeline-source.sgml:
* docs/libs/tmpl/ges-custom-timeline-source.sgml.bak:
* docs/libs/tmpl/ges-simple-timeline-layer.sgml:
* docs/libs/tmpl/ges-simple-timeline-layer.sgml.bak:
* docs/libs/tmpl/ges-timeline-filesource.sgml:
* docs/libs/tmpl/ges-timeline-filesource.sgml.bak:
* docs/libs/tmpl/ges-timeline-layer.sgml:
* docs/libs/tmpl/ges-timeline-layer.sgml.bak:
* docs/libs/tmpl/ges-timeline-object.sgml:
* docs/libs/tmpl/ges-timeline-object.sgml.bak:
* docs/libs/tmpl/ges-timeline-pipeline.sgml:
* docs/libs/tmpl/ges-timeline-pipeline.sgml.bak:
* docs/libs/tmpl/ges-timeline-source.sgml:
* docs/libs/tmpl/ges-timeline-source.sgml.bak:
* docs/libs/tmpl/ges-timeline-transition.sgml:
* docs/libs/tmpl/ges-timeline-transition.sgml.bak:
* docs/libs/tmpl/ges-timeline.sgml:
* docs/libs/tmpl/ges-timeline.sgml.bak:
* docs/libs/tmpl/ges-track-filesource.sgml:
* docs/libs/tmpl/ges-track-filesource.sgml.bak:
* docs/libs/tmpl/ges-track-object.sgml:
* docs/libs/tmpl/ges-track-object.sgml.bak:
* docs/libs/tmpl/ges-track-source.sgml:
* docs/libs/tmpl/ges-track-source.sgml.bak:
* docs/libs/tmpl/ges-track.sgml:
* docs/libs/tmpl/ges-track.sgml.bak:
* docs/libs/tmpl/ges-unused.sgml:
* docs/libs/xml/api-index-deprecated.xml:
* docs/libs/xml/api-index-full.xml:
* docs/libs/xml/ges-common.xml:
* docs/libs/xml/ges-custom-timeline-source.xml:
* docs/libs/xml/ges-doc.bottom:
* docs/libs/xml/ges-doc.top:
* docs/libs/xml/ges-simple-timeline-layer.xml:
* docs/libs/xml/ges-timeline-filesource.xml:
* docs/libs/xml/ges-timeline-layer.xml:
* docs/libs/xml/ges-timeline-object.xml:
* docs/libs/xml/ges-timeline-pipeline.xml:
* docs/libs/xml/ges-timeline-source.xml:
* docs/libs/xml/ges-timeline-transition.xml:
* docs/libs/xml/ges-timeline.xml:
* docs/libs/xml/ges-track-filesource.xml:
* docs/libs/xml/ges-track-object.xml:
* docs/libs/xml/ges-track-source.xml:
* docs/libs/xml/ges-track.xml:
* docs/libs/xml/object_index.sgml:
* docs/libs/xml/tree_index.sgml:
* docs/libs/xml/version.entities:
* ges/ges-timeline-object.h:
GESTimelineObject: Document CreateTrackObjectFunc vmethod
2010-05-18 12:32:31 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* docs/libs/scanobj-build.stamp:
docs: Make sure hierarchy/properties/signals get built for all classes
2010-05-10 12:44:56 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Fix 32bit runtime issues
2010-05-07 13:30:07 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Limit encodebin buffering to 1 buffer
We don't need to queue more than that since we only need thread decoupling
and the various streams going into encodebin are guaranteed to come
from different streaming threads (since they're separate gnlcomposition).
2010-05-06 19:57:25 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/playlist.c:
examples: Add option to specify video restriction
Some encoders don't handle _get_caps() properly :(
2010-04-27 11:45:15 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Remove unused variable/label.
2010-04-20 13:41:20 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Cleanup properly when pads are removed
2010-04-20 13:26:00 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Implement smart rendering
2010-04-20 13:08:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/playlist.c:
examples: New playlist examples
Allows giving lists of file/start/duration triplets and testing the
various timeline-pipeline modes (preview, render, smart-render)
2010-04-20 13:04:31 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/Makefile.am:
check: Use GST_CFLAGS so we get new compilation flags
2010-04-20 13:00:38 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: Store encoding profile
2010-04-20 12:59:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: New Smart Render mode
2010-04-20 12:57:53 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: new functions to search/create OutputChain
2010-04-20 12:53:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Remove unused code
2010-04-20 12:50:34 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
GESTrack: set caps on the composition
This will allow them to be propagated to all objects contained within
2010-04-20 12:50:09 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
GESTimeLine(PipeLine): remove additional unref
2010-04-20 12:47:22 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac : round of cleanup
Add extra CFLAGS
Change GST_CVS to GST_GIT
Add -DGST_USE_UNSTABLE_API for gstprofile, since we know it's unstable.
2010-04-20 12:28:59 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
ges: Link gstprofile
2010-04-20 11:48:21 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
GESTimeline: New method ges_timeline_get_tracks
2010-03-13 16:43:59 +0100 Edward Hervey <bilboed@bilboed.com>
* tests/examples/Makefile.am:
* tests/examples/simple1.c:
examples: Simple Audio/Video example
Currently one can:
* Give a multimedia file
* modify the inpoint
* modify the duration
* mute the audio
2010-03-13 16:05:37 +0100 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Fix minor bug in get_compatible_unlinked_pad
We weren't breaking and ended up doing a fallthrough to the loop
completion.
2010-03-13 15:53:16 +0100 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-object.h:
GESTimelineObject: Fix doc of priority property
2010-03-13 15:51:16 +0100 Edward Hervey <bilboed@bilboed.com>
* ges/ges-track-filesource.c:
GESTrackFileSource: Don't forget to free the URI string
2010-03-12 19:07:15 +0100 Edward Hervey <bilboed@bilboed.com>
* tests/check/Makefile.am:
* tests/check/ges/layer.c:
tests: Add unit test for layer property.
Still needs more work though
2010-03-12 19:06:42 +0100 Edward Hervey <bilboed@bilboed.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
GESTimelineLayer: Add a 'priority' property
2010-03-12 18:42:28 +0100 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline.c:
GESTimeline: Properly iterate TrackObject lists when removing them
2010-03-12 19:05:36 +0100 Edward Hervey <bilboed@bilboed.com>
* tests/check/ges/basic.c:
tests: Check refcount of created trackobjects
2010-03-13 15:52:14 +0100 Edward Hervey <bilboed@bilboed.com>
* ges/ges-timeline-object.c:
* tests/check/ges/filesource.c:
GESTimelineObject: Don't leak a reference when creating TrackObject
2010-03-12 17:17:30 +0100 Edward Hervey <bilboed@bilboed.com>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
GESTimelineObject: new API : _find_track_object
This allows getting the TrackObject for a corresponding TimelineObject
and Track combination
2010-03-12 17:08:00 +0100 Edward Hervey <bilboed@bilboed.com>
* Makefile.am:
* configure.ac:
configure: use automake 1. 11 silent rules instead of shave if available
2010-03-12 17:09:03 +0100 Edward Hervey <bilboed@bilboed.com>
* common:
common: Update to latest common
2010-03-11 11:06:50 +0100 Edward Hervey <bilboed@bilboed.com>
* .gitignore:
* tests/check/ges/.gitignore:
* tests/examples/.gitignore:
ignore more files
2010-03-05 16:10:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/Makefile.am:
examples: Fix linking/include order
2010-03-05 15:50:49 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/filesource.c:
check: Add a test for checking timelinefilesource properties
This include the mute feature
2010-02-09 17:45:42 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/Makefile.am:
examples: Use profile LIBS
and fix a typo with GST_LIBS
2010-02-09 17:44:54 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: gst-profile is now a standalone pkgconfig
2010-01-20 11:09:56 +0100 Jarkko Pallviainen <ext-jarkko.palviainen@nokia.com>
* tests/examples/test1.c:
examples: Fix build on 32bit systems
2010-01-08 18:21:08 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Add comment for _set_render_settings
2010-01-08 18:16:16 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/test4.c:
examples: test4: variant of test3 with rendering.
Usage: ./test4 output_uri audio_files
This will render in ogg/vorbis the first seconds of all the provided
audio files to the output_uri
Ex : ./test4 file:///data/audio1s.ogg /data/music/*.ogg
2010-01-08 18:14:46 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Also get static pads for static pads from encodebin.
This is for the cases where the provided GstStreamEncodingProfile has
a non-zero presence.
2010-01-08 17:05:01 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: detect gst-convenience
2009-12-11 15:24:56 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-track-object.h:
ges: Small doc fixups
2009-12-11 15:17:02 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/timelineobject.c:
tests: Fix macro by making it use the proper argument types
2009-12-11 15:16:26 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/Makefile.am:
tests: Fix linking order.
This ensures that "make check" will run with the local libraries and not
the system-wide ones
2009-12-11 15:15:29 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: Move property setting to an earlier stage.
This ensures that any properties set on the TimelineObject will be
propagated to the created TrackObjects just after they're created
2009-12-11 15:13:19 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: Store pending values when GnlObject isn't created yet
2009-12-11 15:17:25 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Sync state of newly added element to container
2009-12-09 15:03:30 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Don't forget to remember the mode
2009-12-09 15:03:15 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-file-source.c:
GESTimelineFileSource: Properly handle mute
mute != active
2009-12-09 12:22:34 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: More render support
2009-12-04 10:49:32 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: beginning of render support
2009-11-30 15:14:25 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* ges/ges-internal.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-filesource.c:
* ges/ges-track-filesource.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
* ges/ges-track.c:
* ges/ges-track.h:
* ges/ges-types.h:
* ges/ges.c:
* ges/ges.h:
ges/: Fix copyright in headers
2009-11-30 15:14:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* AUTHORS:
AUTHORS: Add myself
2009-11-25 13:13:49 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-file-source.c:
timelinefilesource: Free URI when finalizing
2009-11-25 13:11:32 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
trackobject: priority is a uint32
2009-11-25 12:53:13 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/timelineobject.c:
tests: release TrackObject when we're done with it
2009-11-25 12:52:50 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/simplelayer.c:
* tests/check/ges/timelineobject.c:
tests: Don't forget to cast to guint64 when using g_object_set
... else total failure ensues on 32bit machines
2009-11-25 11:56:58 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
TimelineObject: Add missing argument to printf statement
2009-11-25 11:55:50 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
customtimelinesource: Fix indentation
2009-11-25 11:14:02 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/working-diagrams.svg:
docs: updates to working diagram, still needs more love
2009-11-15 18:23:33 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/architecture.xml:
* docs/libs/layer_track_overview.png:
* docs/working-diagrams.svg:
docs: Improve docs some more
2009-11-12 20:11:28 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
* docs/libs/Makefile.am:
* docs/libs/architecture.xml:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/ges.types:
* ges/ges.c:
docs: Add overview and architecture document and cleanup docs more.
2009-11-12 19:14:35 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/design/gstprofile.h:
docs: Update to gstprofile header
2009-11-09 15:55:06 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitignore:
ignore more files
2009-11-09 15:54:18 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* m4/Makefile.am:
* m4/codeset.m4:
* m4/gettext.m4:
* m4/glibc2.m4:
* m4/glibc21.m4:
* m4/iconv.m4:
* m4/intdiv0.m4:
* m4/intl.m4:
* m4/intldir.m4:
* m4/intlmacosx.m4:
* m4/intmax.m4:
* m4/inttypes-pri.m4:
* m4/inttypes_h.m4:
* m4/lcmessage.m4:
* m4/lib-ld.m4:
* m4/lib-link.m4:
* m4/lib-prefix.m4:
* m4/libtool.m4:
* m4/lock.m4:
* m4/longlong.m4:
* m4/ltoptions.m4:
* m4/ltsugar.m4:
* m4/ltversion.m4:
* m4/lt~obsolete.m4:
* m4/nls.m4:
* m4/po.m4:
* m4/printf-posix.m4:
* m4/progtest.m4:
* m4/size_max.m4:
* m4/stdint_h.m4:
* m4/uintmax_t.m4:
* m4/visibility.m4:
* m4/wchar_t.m4:
* m4/wint_t.m4:
* m4/xsize.m4:
remove m4/*.m4, will be automatically created by autogen.sh
2009-11-05 10:22:57 +0100 Edward Hervey <edward.hervey@collabora.co.uk>
* common:
update common submodule version used
2009-10-22 17:37:54 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
docs: Add missing symbol to documentation
2009-10-19 18:32:23 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/design/encoding-research.txt:
* docs/design/encoding.txt:
* docs/design/gstprofile.h:
docs/design: Fixups/additions based on feedback
2009-10-07 16:23:22 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/design/encoding-research.txt:
* docs/design/encoding.txt:
* docs/design/gstencodebin.h:
* docs/design/gstprofile.h:
docs/design: Add encoding/profile proposal/design
2009-09-30 16:45:13 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/timelineobject.c:
tests: New unit test for GESTimelineObject
2009-09-30 16:44:41 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
GESTimelineObject: First set the duration and priority before the inpoint.
2009-09-30 16:44:12 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
GESTimelineFileSource: Add a 'mute' property.
This property deactivates the audio trackobjects if set to TRUE
2009-09-30 16:43:12 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: Listen to property change from gnlobject
TODO: add/emit the 'changed' signal
2009-09-30 16:42:31 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.h:
GESTrackObject: Add convenience macros for accessing properties
2009-09-30 16:42:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
GESTrackObject: Set sane default values
2009-09-30 16:40:59 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: Add 'active' property.
This property allows (de)activating a track object
2009-09-29 15:32:23 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/test3.c:
tests/examples: test3, same as test2, but uses a SimpleTimelineLayer
2009-09-29 15:29:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/simplelayer.c:
tests/check: Add test for GESSimpleTimelineLayer
2009-09-29 15:27:55 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
GESSimpleTimelineLayer: Implement add()/move() and parent class changes
If changes happen when accessing the GESTimelineLayer API, they will be taken
into account.
2009-09-29 15:27:17 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.h:
ges-timeline-layer.h: Add comment
2009-09-29 15:25:54 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-timeline-object.h:
ges-timeline-object: Add convenience macros
2009-09-21 18:11:19 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/Makefile.am:
* tests/examples/test2.c:
tests/example: New small example of timeline file sources.
This examples takes a list of files with audio tracks, and plays the first
second of each.
This demonstrates the usage of GESTimelineFileSource
2009-09-21 18:08:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/Makefile.am:
* tests/check/ges/filesource.c:
tests/check: New test for GESTimelineFileSource
2009-09-21 12:51:16 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/Makefile.am:
* ges/ges-timeline-file-source.c:
* ges/ges-timeline-file-source.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-track-filesource.c:
* ges/ges-track-filesource.h:
* ges/ges-types.h:
* ges/ges.h:
New GESTimelineFileSource and GESTrackFileSource classes
2009-09-16 12:37:45 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline.c:
Finish public API documentation
2009-09-16 12:37:13 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
docs: Add index and object hierarchy
2009-09-14 19:45:43 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/basic.c:
tests: Make basic test check for proper reference counting.
2009-09-14 19:44:03 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
GESTrack: The track steals the refcount to the caps. document that.
2009-09-14 19:42:58 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/.gitignore:
docs/libs: ignore more files
2009-09-14 19:24:28 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Fix reference counting of tracks, add docs.
2009-09-14 19:23:52 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
GESTimelineLayer: Fix reference handling of objects, add docs.
2009-09-14 19:23:21 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
configure.ac: Require latest gst-plugins-base for 'playsink'
2009-09-14 17:00:13 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.h:
GESTimeline: start more documentation
2009-09-14 16:33:25 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
GESTrackObject: Document some more
2009-09-14 15:51:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-sections.txt:
* ges/ges-track.c:
GESTrack: document more
2009-09-10 18:17:38 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* docs/libs/Makefile.am:
* docs/libs/ges.types:
docs: fix gtk-doc build and make distcheck for me
2009-09-10 18:53:31 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/test1.c:
Document first high-level demo.
2009-09-10 18:40:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* ges/ges-custom-timeline-source.c:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track-source.c:
* ges/ges-track.c:
* ges/ges-track.h:
* ges/ges.c:
More documentation. Coverage now at 25%
2009-09-10 16:23:12 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/random/scenarios:
docs: move working document
2009-09-10 16:22:00 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* Makefile.am:
* configure.ac:
* docs/Makefile.am:
* docs/libs/Makefile.am:
* docs/libs/ges-docs.sgml:
* docs/libs/ges-sections.txt:
* docs/libs/scanobj-build.stamp:
* docs/version.entities.in:
docs: Add gtk-doc API documentation
current coverage : 8%
2009-09-09 15:53:53 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/test1.c:
test1: Expand example to also use an audio track.
2009-09-09 15:51:52 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
GESTimeline: Make sure added ghostpads are unique.
2009-09-09 13:57:37 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/test1.c:
test1: Actually change videotestsrc patterns to make changes obvious.
2009-09-09 13:55:30 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/test1.c:
test1: Use mainloop, required for proper gnonlin behaviour.
2009-09-09 12:42:29 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
GESTimelinePipeline: Reconfigure playsink once we've added a pad.
2009-09-08 19:46:54 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/examples/test1.c:
examples: Add timeline to pipeline and set it to playing.
... and now we need to go an fix playsink :)
2009-09-08 19:46:26 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/basic.c:
test/ges/basic: Adapt to API changes.
2009-09-08 19:45:08 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: Use 'playsink', track added/removed pads.
Also add a method to set a GESTimeline on the pipeline.
2009-09-08 19:44:03 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
* ges/ges-timeline.h:
GESTimeline: Track internal pads and tracks in sync.
Add method to get the Track associated to a ghostpad.
2009-09-08 18:55:41 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitignore:
gitignore: Ignore more files
2009-09-08 18:49:22 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
* ges/ges-track.h:
GESTrack: Add TrackType enum and constructor property.
This allows us to speed up detection of track content type.
2009-09-08 18:47:46 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
CustomTimelineSource: Fix typo in debug statement
2009-09-07 15:46:44 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
GESTimelinePipeline: Fix typo
2009-08-07 20:33:40 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
TrackObject: Add debugging and make default duration 1s
2009-08-07 20:33:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
TimelineObject: Add start/inpoint/duration/priority properties and propagate them
2009-08-07 20:32:47 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
* ges/ges-track.h:
Track: Handle pads
2009-08-07 20:32:29 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
* ges/ges-track.h:
Track: Add convenience methods for creating a raw Audio or Video track.
2009-08-07 20:31:11 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* tests/check/ges/basic.c:
CustomTimelineSource: Allow giving user_data to the callback
2009-08-07 20:29:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* configure.ac:
* tests/Makefile.am:
* tests/examples/Makefile.am:
* tests/examples/test1.c:
Add directory for examples along with a minimalistic first example.
2009-08-07 18:18:42 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
* ges/ges-track.h:
* tests/check/ges/basic.c:
Add 'caps' property on Track
2009-08-07 17:09:59 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* COPYING:
* COPYING.LIB:
* INSTALL:
* Makefile.am:
* RELEASE:
* ges/Makefile.am:
* gst-editing-services.doap:
Fix build. Can now run make distcheck.
2009-08-07 16:51:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
Track: Add/Remove the GnlComposition from ourself.
2009-08-07 16:47:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/basic.c:
tests/ges/basic: Extend test to remove the object.
2009-08-07 16:46:57 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-source.h:
TrackSource: Include TrackObject header file
2009-08-07 16:46:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges.c:
ges.c: Add debug line to inform of initialization
2009-08-07 16:45:16 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-custom-timeline-source.c:
* ges/ges-custom-timeline-source.h:
* ges/ges-types.h:
* ges/ges.h:
New CustomTimelineSource class.
2009-08-07 16:43:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track.c:
* ges/ges-track.h:
Track: Implement remove_object()
2009-08-07 16:43:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-track-object.c:
* ges/ges-track-object.h:
TrackObject: Add 'valid' property, Make _set_track() return a bool
2009-08-07 16:41:23 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline.c:
Timeline: Implement remove_track, remove_layer, and _layer_object_removed_cb
2009-08-07 16:40:51 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
TimelineSource: Implenent _create_track_object() virtual-method
2009-08-07 16:39:45 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
TimelineObject: Implement _release_track_object()
2009-08-07 16:39:09 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
TimelineLayer: Implement _remove_object()
2009-08-06 20:04:59 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* tests/check/ges/basic.c:
tests: Add a simple scenario
2009-08-06 19:59:25 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track.c:
ges: Remove unused private structures. We'll re-add on a per-case basis.
2009-08-06 19:51:29 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* Makefile.am:
* configure.ac:
* ges/Makefile.am:
* ges/ges-internal.h:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-object.c:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-transition.c:
* ges/ges-timeline.c:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track-source.c:
* ges/ges-track.c:
* ges/ges.c:
* ges/ges.h:
* tests/Makefile.am:
* tests/check/Makefile.am:
* tests/check/ges/basic.c:
Add unit test system. Adjust GST_DEBUG usage.
2009-08-06 18:54:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-track-source.c:
* ges/ges-track-source.h:
* ges/ges-types.h:
* ges/ges.h:
Add new GESTrackSource
2009-08-06 17:38:43 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/scenarios:
* ges/ges-simple-timeline-layer.c:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
* ges/ges-track.h:
intermediary commit. Still need to fill in more blanks :(
2009-08-06 12:47:38 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
* ges/gesmarshal.list:
Add signal marshalling code
2009-08-06 12:14:37 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* Makefile.am:
* autogen.sh:
* configure.ac:
* ges/Makefile.am:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.h:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.h:
* ges/ges-types.h:
* ges/ges.h:
build fixed again. Moved type declarations in a standalone file.
2009-08-06 11:24:04 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* ges/Makefile.am:
* ges/ges-simple-timeline-layer.c:
* ges/ges-simple-timeline-layer.h:
* ges/ges-timeline-layer.c:
* ges/ges-timeline-layer.h:
* ges/ges-timeline-object.c:
* ges/ges-timeline-object.h:
* ges/ges-timeline-pipeline.c:
* ges/ges-timeline-pipeline.h:
* ges/ges-timeline-source.c:
* ges/ges-timeline-source.h:
* ges/ges-timeline-transition.c:
* ges/ges-timeline-transition.h:
* ges/ges-timeline.c:
* ges/ges-timeline.h:
* ges/ges-track-object.c:
* ges/ges-track-object.h:
* ges/ges-track.c:
* ges/ges-track.h:
* ges/ges.c:
* ges/ges.h:
src/ => ges/
2009-08-06 11:23:01 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* docs/scenarios:
* src/Makefile.am:
* src/ges-simple-timeline-layer.h:
* src/ges-timeline-object.c:
* src/ges-timeline-object.h:
* src/ges-timeline.h:
* src/ges-track-object.c:
* src/ges-track-object.h:
* src/ges-track.h:
* src/ges.c:
* src/ges.h:
MORE HACKING
2009-08-04 19:27:07 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* README:
README: Mention license
2009-08-04 19:21:49 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitignore:
.gitignore: ignore cruft
2009-08-04 17:16:31 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
* .gitmodules:
* AUTHORS:
* ChangeLog:
* Makefile.am:
* NEWS:
* autogen.sh:
* common:
* configure.ac:
* gst-editing-services.spec.in:
* m4/Makefile.am:
* m4/codeset.m4:
* m4/gettext.m4:
* m4/glibc2.m4:
* m4/glibc21.m4:
* m4/iconv.m4:
* m4/intdiv0.m4:
* m4/intl.m4:
* m4/intldir.m4:
* m4/intlmacosx.m4:
* m4/intmax.m4:
* m4/inttypes-pri.m4:
* m4/inttypes_h.m4:
* m4/lcmessage.m4:
* m4/lib-ld.m4:
* m4/lib-link.m4:
* m4/lib-prefix.m4:
* m4/libtool.m4:
* m4/lock.m4:
* m4/longlong.m4:
* m4/ltoptions.m4:
* m4/ltsugar.m4:
* m4/ltversion.m4:
* m4/lt~obsolete.m4:
* m4/nls.m4:
* m4/po.m4:
* m4/printf-posix.m4:
* m4/progtest.m4:
* m4/size_max.m4:
* m4/stdint_h.m4:
* m4/uintmax_t.m4:
* m4/visibility.m4:
* m4/wchar_t.m4:
* m4/wint_t.m4:
* m4/xsize.m4:
* src/Makefile.am:
* src/ges-simple-timeline-layer.c:
* src/ges-simple-timeline-layer.h:
* src/ges-timeline-layer.c:
* src/ges-timeline-layer.h:
* src/ges-timeline-object.c:
* src/ges-timeline-object.h:
* src/ges-timeline-pipeline.c:
* src/ges-timeline-pipeline.h:
* src/ges-timeline-source.c:
* src/ges-timeline-source.h:
* src/ges-timeline-transition.c:
* src/ges-timeline-transition.h:
* src/ges-timeline.c:
* src/ges-timeline.h:
* src/ges-track-object.c:
* src/ges-track-object.h:
* src/ges-track.c:
* src/ges-track.h:
It builds !!!! :)