=== release 1.20.3 === 2022-06-15 23:36:18 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.20.3 2022-06-15 23:36:10 +0100 Tim-Philipp Müller * ChangeLog: Update ChangeLogs for 1.20.3 2022-05-13 10:23:54 +1000 Matthew Waters * ges/ges-video-uri-source.c: ges/videourisource: handle non-1/1 PAR source videos The automatic scaling done by framepositioner does not account for the par of the video source. Part-of: 2022-05-03 00:39:09 +0100 Tim-Philipp Müller * meson.build: Back to development Part-of: === release 1.20.2 === 2022-05-02 23:29:25 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.20.2 2022-05-02 23:29:19 +0100 Tim-Philipp Müller * ChangeLog: Update ChangeLogs for 1.20.2 2022-03-14 09:06:46 -0300 Thibault Saunier * bindings/python/gi/overrides/GES.py: * bindings/python/gi/overrides/__init__.py: * ges/ges-timeline-element.c: * ges/ges-timeline-element.h: Fix license as GES is released under the LGPL2+ license This was a mistake that some of the licensing notice in a few files was referring to GPL3+ and it needs fixing Part-of: 2022-03-14 14:48:01 +0000 Tim-Philipp Müller * meson.build: Back to development === release 1.20.1 === 2022-03-14 11:33:33 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.20.1 2022-03-14 11:33:25 +0000 Tim-Philipp Müller * ChangeLog: Update ChangeLogs for 1.20.1 2022-02-19 03:26:00 +0900 Seungha Yang * tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected: * tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected: scenarios: Update for videoaggregator rounding behavior change Part-of: 2022-02-07 16:17:28 +0000 Tim-Philipp Müller * meson.build: Back to development === release 1.20.0 === 2022-02-03 19:53:25 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.20.0 2022-02-03 19:53:18 +0000 Tim-Philipp Müller * ChangeLog: Update ChangeLogs for 1.20.0 === release 1.19.90 === 2022-01-28 14:28:35 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.19.90 2022-01-28 14:28:28 +0000 Tim-Philipp Müller * ChangeLog: Update ChangeLogs for 1.19.90 2022-01-24 19:44:32 +0200 Sebastian Dröge * ges/meson.build: ges: Include ges-image-source.h in the installed headers It's referenced by `ges.h` and was previously available, so removing it is an API change. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/963 Part-of: 2022-01-05 02:07:59 +0530 Nirbheek Chauhan * docs/meson.build: * meson.build: meson: Add explicit check: kwarg to all run_command() calls This is required since Meson 0.61.0, and causes a warning to be emitted otherwise: https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c https://github.com/mesonbuild/meson/issues/9300 This exposed a bunch of places where we had broken run_command() calls, unnecessary run_command() calls, and places where check: true should be used. Part-of: 2021-11-11 19:11:25 +0000 Tim-Philipp Müller * ges/ges-multi-file-source.c: docs: fix unnecessary ampersand, < and > escaping in code blocks Part-of: 2021-11-08 11:08:45 -0300 Thibault Saunier * ges/meson.build: meson:ges: Fix typo adding ges gir to libs list Part-of: 2021-11-05 11:36:11 -0300 Thibault Saunier * tests/check/ges/mixers.c: tests:ges: Take TIMEOUT_FACTOR into account This env var is set in the CI so we grow the timeout as required (when running in valgrind for example). See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/jobs/15449209 Part-of: 2021-11-03 18:44:03 +0000 Tim-Philipp Müller * meson.build: Back to development === release 1.19.3 === 2021-11-03 15:43:36 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.19.3 2021-11-03 15:43:32 +0000 Tim-Philipp Müller * ChangeLog: Update ChangeLogs for 1.19.3 2021-10-25 11:37:45 +0100 Tim-Philipp Müller * meson.build: meson: require matching GStreamer dep versions for unstable development releases Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929 Part-of: 2021-10-18 15:47:00 +0100 Tim-Philipp Müller * tests/check/meson.build: meson: update for meson.build_root() and .build_source() deprecation -> use meson.project_build_root() or .global_build_root() instead. Part-of: 2021-10-18 00:40:14 +0100 Tim-Philipp Müller * docs/meson.build: * tests/check/meson.build: * tools/meson.build: meson: update for dep.get_pkgconfig_variable() deprecation ... in favour of dep.get_variable('foo', ..) which in some cases allows for further cleanups in future since we can extract variables from pkg-config dependencies as well as internal dependencies using this mechanism. Part-of: 2021-10-17 11:39:57 +0100 Tim-Philipp Müller * tools/meson.build: tools: Define G_LOG_DOMAIN for various tools as well Part-of: 2021-10-14 18:38:26 +0100 Tim-Philipp Müller * meson.build: meson: bump meson requirement to >= 0.59 For monorepo build and ugly/bad, for advanced feature option API like get_option('xyz').required(..) which we use in combination with the 'gpl' option. For rest of modules for consistency (people will likely use newer features based on the top-level requirement). Part-of: 2021-10-12 23:25:40 -0300 Thibault Saunier * docs/sitemap.txt: * ges/meson.build: ges:docs: Ignore GESImageSource as it is plain useless now Part-of: 2021-10-12 15:52:48 -0300 Thibault Saunier * docs/meson.build: meson: Streamline the way we detect when to build documentation Part-of: 2021-09-13 18:33:01 -0300 Thibault Saunier * docs/meson.build: * meson.build: ges:build: Disable python modules when statically building Introspection fails otherwise Part-of: 2020-06-27 00:39:00 -0400 Thibault Saunier * docs/meson.build: * ges/meson.build: * meson.build: meson: List libraries and their corresponding gir definition Introduces a `libraries` variable that contains all libraries in a list with the following format: ``` meson libraries = [ [pkg_name, { 'lib': library_object 'gir': [ {full gir definition in a dict } ] ], .... ] ``` It therefore refactors the way we build the gir so that we can reuse the same information to build them against 'gstreamer-full' in gst-build when linking statically Part-of: 2021-10-13 00:07:20 -0300 Thibault Saunier * tests/check/python/common.py: * tests/check/python/test_assets.py: ges:tests: Create shorter assets to avoid timeouts And use a simple GStreamer pipeline as testsrcbin with GstTranscoder doesn't let us easily set the framerate of the source and we end up having videorate dropping frames leading to the rendered file having an unprecise duration. This should fix races with `check.gst-editing-services.pythontests.pyunittest.python.test_assets.TestTimeline.test_reload_asset` Part-of: 2021-10-13 02:58:29 +0530 Nirbheek Chauhan * meson_options.txt: meson: Remove duplicate definition of 'examples' option This is a hard error starting with Meson 0.60.0rc1, due to https://github.com/mesonbuild/meson/pull/9184#issuecomment-941603358 The upstream change might get reverted before release, but we should of course fix this regardless. Part-of: 2021-09-30 19:03:40 -0300 Thibault Saunier * ges/ges-uri-asset.c: ges:uri-asset: Ignore streams with no ID Since 0d95d9258b97 we respect the asset stream-id in `GESUriSource` so we can not work with unknown or broken stream ID in the assets. We just ignore them, warning about it and we should fix that in demuxer so they don't expose pad without providing a stream id for them. Part-of: 2021-09-28 15:45:19 -0400 Xavier Claessens * .arcconfig: Delete .arcconfig files Part-of: 2021-09-28 10:11:15 +1000 Brad Hards * RELEASE: doc: update IRC links to OFTC Part-of: 2021-09-27 09:24:16 +0300 Sebastian Dröge * ges/ges-command-line-formatter.c: commandline-formatter: Fix version documentation for ges_command_line_formatter_get_help() Part-of: 2021-09-25 16:34:49 +0300 Sebastian Dröge * ges/ges-clip-asset.c: * ges/ges-command-line-formatter.c: * ges/ges-effect-clip.c: * ges/ges-meta-container.c: * ges/ges-track-element-asset.c: ges: Add a few missing annotations Part-of: 2021-09-26 01:07:02 +0100 Tim-Philipp Müller * meson.build: Back to development Part-of: === release 1.19.2 === 2021-09-23 01:35:39 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.19.2 2021-08-10 17:10:43 -0400 Thibault Saunier * 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: 2021-08-12 23:37:59 +0200 Mathieu Duponchelle * ges/ges-uri-source.c: ges-uri-source: fix object debug Part-of: 2021-08-10 23:54:47 +0200 Mathieu Duponchelle * 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: 2021-08-10 23:25:06 +0200 Mathieu Duponchelle * 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: 2021-08-10 23:23:39 +0200 Mathieu Duponchelle * 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: 2021-08-10 23:20:21 +0200 Mathieu Duponchelle * tools/ges-launcher.c: ges-launcher: don't unref transfer none objects Part-of: 2021-07-21 19:31:53 +0200 Piotrek Brzeziński * ges/ges-clip.c: * tests/check/ges/clip.c: clip: Copy trackelement's metadata upon splitting Part-of: 2021-07-09 16:15:01 +0200 Piotrek Brzeziński * 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: 2021-07-09 16:14:19 +0200 Piotrek Brzeziński * ges/ges-marker-list.c: * tests/check/ges/markerlist.c: marker-list: Add flags (de)serialization Part-of: 2021-08-03 11:31:07 +0200 Stéphane Cerveau * 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: 2021-08-05 22:59:07 +0200 Piotrek Brzeziński * ges/ges-timeline-tree.c: timeline: Check if metadata value holds object on marker snapping Part-of: 2021-06-20 23:51:02 +0200 Piotrek Brzeziński * 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: 2021-06-16 17:12:11 +0200 François Laignel * ges/ges-timeline-element.c: * ges/ges-timeline.c: Check mandatory ClockTime arguments Part-of: 2021-05-22 18:41:08 +0100 Tim-Philipp Müller * 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: 2021-06-01 15:29:10 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.19.1 === 2021-06-01 00:16:05 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.19.1 2021-05-18 11:42:22 -0400 Thibault Saunier * ges/ges-uri-clip.c: uriclip: Add an error message when creating a clip failed Part-of: 2021-05-18 11:31:19 -0400 Thibault Saunier * examples/c/simple1.c: examples: c: Sensibly simplify the simple example Part-of: 2021-05-18 11:16:02 -0400 Thibault Saunier * 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: 2021-05-21 15:26:03 -0400 Thibault Saunier * 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 * 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: 2021-05-20 16:45:43 +0100 Philippe Normand * tools/ges-launcher.c: launcher: Switch to fake{audio,video}sink Simplifies the code a bit, though introducing runtime dependency on -bad. Part-of: 2021-05-18 21:31:38 -0400 Thibault Saunier * 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: 2021-05-18 22:04:48 -0400 Thibault Saunier * ges/ges-validate.c: validate: Add support to check properties of object properties And recursively Part-of: 2021-04-23 16:08:48 +0900 Seungha Yang * 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: 2021-04-24 00:55:45 +0900 Seungha Yang * 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: 2021-05-12 17:43:46 -0400 Doug Nazar * ges/ges-xml-formatter.c: xml-formatter: Write xml directly to file Skip allocation of temp buffer (which was undersized). Part-of: 2021-05-01 19:18:15 -0400 Doug Nazar * 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: 2021-02-24 23:49:06 -0300 Thibault Saunier * ges/ges-track-element.h: track-element: Fix and cleanup annotations Making the class subclass able by bindings Part-of: 2021-02-24 23:37:28 -0300 Thibault Saunier * 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: 2021-04-21 10:47:51 +0200 François Laignel * 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: 2021-04-28 00:57:35 +0900 Seungha Yang * 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: 2021-04-23 16:42:26 +0900 Seungha Yang * 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: 2021-04-23 09:01:35 -0500 reed.lawrence * 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: 2021-04-21 18:12:30 -0500 reed.lawrence * 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: 2021-04-14 12:58:30 +0900 Seungha Yang * ges/gstframepositioner.c: framepositioner: Fix runtime warning GstCaps is not a GObject! Part-of: 2021-04-08 15:35:30 -0500 Adam Leppky * ges/ges-title-source.c: titleclip: Expose draw-shadow child property Part-of: 2021-03-19 17:21:01 +1100 Matthew Waters * 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: 2021-03-08 14:50:52 -0300 Thibault Saunier * ges/ges-clip.h: ges: doc: Fix wrong vmethod links 2021-03-08 09:56:49 -0300 Thibault Saunier * 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: 2021-02-17 21:34:22 +1100 Jan Schmidt * 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: 2021-01-19 11:00:22 -0300 Thibault Saunier * ges/ges-project.c: project: Plug a leak Part-of: 2021-01-19 10:29:09 -0300 Thibault Saunier * ges/ges-xml-formatter.c: xml-formatter: Properly report error parsing restriction caps Part-of: 2021-01-15 15:29:47 -0300 Thibault Saunier * 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: 2021-01-15 15:28:34 -0300 Thibault Saunier * tools/ges-launcher.c: tools: Fix some naming Part-of: 2021-01-15 15:28:17 -0300 Thibault Saunier * tools/ges-launcher.c: tools: Reindent options Part-of: 2021-01-15 15:27:30 -0300 Thibault Saunier * tools/ges-launcher.c: launch: Add encoding profiles to the project So it is serialized on `--save` Part-of: 2021-01-15 15:26:36 -0300 Thibault Saunier * 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: 2021-01-15 15:25:12 -0300 Thibault Saunier * plugins/ges/gesbasebin.c: * plugins/ges/gesdemux.c: plugin: Fix `is-ges-timeline` registration We need to register it for all subclasses. Part-of: 2021-01-15 15:23:13 -0300 Thibault Saunier * ges/ges-command-line-formatter.c: command-line-formatter: Stop uselessly looping over options Part-of: 2021-01-15 15:21:06 -0300 Thibault Saunier * 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: 2021-01-15 15:03:20 -0300 Thibault Saunier * 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: 2021-01-15 09:27:31 -0300 Thibault Saunier * 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: 2021-01-15 09:25:11 -0300 Thibault Saunier * 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: 2021-01-15 09:13:59 -0300 Thibault Saunier * ges/ges-structured-interface.c: structured-interface: Factor out method to get element to set property Used to set properties or keyframes Part-of: 2021-01-15 08:49:20 -0300 Thibault Saunier * ges/ges-command-line-formatter.c: command-line-formatter: Reindent command line options array Part-of: 2021-01-15 08:47:10 -0300 Thibault Saunier * 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: 2021-01-14 08:05:59 -0300 Thibault Saunier * ges/ges-asset.c: * ges/ges-base-xml-formatter.c: * ges/ges-validate.c: ges: Minor debug logging level and typo fixes Part-of: 2021-01-12 15:55:52 -0300 Thibault Saunier * 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: 2021-01-13 15:18:04 -0300 Thibault Saunier * 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: 2021-01-29 20:42:26 +0100 Mathieu Duponchelle * 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: 2019-10-29 17:03:14 +0000 Henry Wilkes * 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: 2019-10-29 16:29:24 +0000 Henry Wilkes * ges/ges-command-line-formatter.c: command-line-formatter: fix typos Part-of: 2019-10-18 23:23:10 +0100 Henry Wilkes * 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: 2020-12-13 22:54:37 -0300 Thibault Saunier * 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: 2021-01-12 15:50:27 -0300 Thibault Saunier * ges/ges-audio-track.c: audio-track: Respect track restrictions in our gaps Avoiding not negotiated errors in specific cases. Part-of: 2021-01-05 11:52:15 -0300 Thibault Saunier * tools/ges-launcher.c: launch: Ensure to add required ref to profiles from project We were unreffing something we were not owning Part-of: 2020-11-02 22:18:24 +1100 Jan Schmidt * 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: 2020-09-04 10:27:05 -0400 Thibault Saunier * 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: 2020-11-04 18:47:28 +0530 Nirbheek Chauhan * 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: 2020-10-30 00:30:52 +1100 Jan Schmidt * 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: 2018-11-04 13:04:45 -0500 Xavier Claessens * 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 * 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 Part-of: 2020-10-18 20:11:33 +0200 Antonio Ospite * 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: 2020-10-16 13:17:04 +0200 Stéphane Cerveau * 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: 2020-09-03 23:32:23 -0400 Thibault Saunier * 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: 2020-09-08 11:39:10 -0300 Thibault Saunier * 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: 2020-09-03 21:15:16 -0400 Thibault Saunier * ges/ges-video-transition.c: * ges/ges-video-transition.h: video-transition: Make smpte props children properties And deprecate old style accessors. Part-of: 2020-09-08 17:30:53 +0100 Tim-Philipp Müller * .gitlab-ci.yml: ci: include template from gst-ci master branch again 2020-09-08 16:59:02 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.18.0 === 2020-09-08 00:09:25 +0100 Tim-Philipp Müller * .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 * docs/gst_plugins_cache.json: * plugins/ges/gesdemux.c: demux: Fixate documentation caps Part-of: 2020-08-22 00:57:06 +1000 Jan Schmidt * 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 * tests/check/meson.build: tests: Fix running tests fully uninstalled Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/118 Part-of: === release 1.17.90 === 2020-08-20 16:16:01 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.17.90 2020-07-31 22:02:01 -0400 Thibault Saunier * ges/ges-source.c: ges:source: Handle missing elements in converters Part-of: 2020-07-22 12:02:10 -0400 Thibault Saunier * 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: 2020-07-21 08:49:35 -0400 Thibault Saunier * ges/ges-video-transition.c: transition: Enhance name of the elements Making it simpler to debug Part-of: 2020-07-20 17:32:39 -0400 Thibault Saunier * ges/ges-source.c: source: Handle missing elements in converter Part-of: 2020-07-14 00:09:32 -0400 Thibault Saunier * ges/ges-video-source.c: video-source: Stop giving useless name to frame positioner Part-of: 2020-07-13 18:18:22 -0400 Thibault Saunier * 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: 2020-07-12 13:51:42 -0400 Thibault Saunier * 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: 2020-07-12 13:49:36 -0400 Thibault Saunier * ges/ges-structured-interface.c: * ges/ges-validate.c: ges:validate: Allow setting keyframes using the clips directly Part-of: 2020-07-25 13:14:56 -0400 Thibault Saunier * ges/ges-uri-source.c: ges-source: Ensure that we output stream with segments in time Part-of: 2020-07-09 11:10:41 -0400 Thibault Saunier * ges/ges-pipeline.c: pipeline: Restrict the presence only if the user didn't explicitly provided one Part-of: 2020-07-08 15:47:55 -0400 Thibault Saunier * 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: 2020-07-08 15:47:12 -0400 Thibault Saunier * ges/ges-uri-source.c: uri-source: Respect user stream selection Part-of: 2020-07-08 08:02:27 -0400 Thibault Saunier * tools/ges-validate.c: launch: Also print the position when disabling validate Part-of: 2020-07-08 08:01:58 -0400 Thibault Saunier * meson.build: * tools/ges-launcher.c: * tools/meson.build: * tools/utils.c: * tools/utils.h: launch: Print more useful information to stdout Part-of: 2020-07-08 07:42:38 -0400 Thibault Saunier * meson_options.txt: * tools/ges-launcher.c: build: Add an option to disable examples And make it yield as in other modules Part-of: 2020-07-03 18:21:22 -0400 Thibault Saunier * 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: 2020-07-03 18:16:13 -0400 Thibault Saunier * 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: 2020-07-03 18:00:39 -0400 Thibault Saunier * tests/validate/geslaunch.py: validate: Pipe debug output to a file when discovering scenarios Otherwise `gst-validate-launcher` can get veeery noisy Part-of: 2020-07-03 17:59:49 -0400 Thibault Saunier * plugins/nle/nlesource.c: nle: Minor debug enhancement Part-of: 2020-07-03 17:58:16 -0400 Thibault Saunier * tests/check/ges/clip.c: tests: Mark audio identity as audio Otherwise GES fallbacks to video... Part-of: 2020-01-13 13:08:24 +0000 Henry Wilkes * 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: 2020-07-03 17:41:28 -0400 Thibault Saunier * 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: 2020-07-03 17:18:51 -0400 Thibault Saunier * 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: 2020-07-03 17:02:45 -0400 Thibault Saunier * 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: 2020-07-03 17:01:18 -0400 Thibault Saunier * 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: 2020-07-03 16:52:06 -0400 Thibault Saunier * 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: 2020-07-03 16:34:21 -0400 Thibault Saunier * 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: 2020-06-24 11:11:11 -0400 Thibault Saunier * ges/ges-audio-uri-source.c: * ges/ges-video-uri-source.c: *uri-source: Call free from the object ->finalize not ->dispose Part-of: 2020-07-25 19:16:06 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: * tools/meson.build: meson: install bash completion helper for ges-launch-1.0 Fixes #77 Part-of: 2020-07-25 19:09:30 +0100 Tim-Philipp Müller * meson.build: * meson_options.txt: meson: add 'tools' and 'examples' options To optionally disable build of those. Part-of: 2020-07-24 07:43:05 +0530 AsociTon * ges/ges-base-xml-formatter.c: * tests/check/python/test_assets.py: Fix retrieving asset metadata on project reload. Part-of: 2020-01-21 16:02:56 +0530 yatinmaan1@gmail.com * tests/check/python/test_clip.py: tests: Add test for ges_clip_get_top_effect_index Part-of: 2020-07-14 10:20:32 +0200 Guillaume Desmottes * 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: 2020-07-10 08:16:10 -0400 Thibault Saunier * 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: 2020-07-09 21:42:50 -0400 Thibault Saunier * ges/ges-pitivi-formatter.h: pitivi-formatter: Also skip the class 2020-07-08 17:33:07 +0100 Tim-Philipp Müller * meson.build: * scripts/extract-release-date-from-doap-file.py: meson: set release date from .doap file for releases Part-of: 2020-07-08 10:03:43 -0400 Thibault Saunier * ges/ges-title-clip.h: title: Make deprecated symbols visible API Part-of: 2020-07-03 02:04:08 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.17.2 === 2020-07-03 00:35:20 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.17.2 2020-06-23 16:11:59 +0200 Mathieu Duponchelle * 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 * docs/gst_plugins_cache.json: plugins_cache: add base classes 2020-06-23 00:04:52 +0200 Mathieu Duponchelle * docs/meson.build: meson: mark plugins cache target as always stale 2020-06-21 01:42:26 +0200 Mathieu Duponchelle * plugins/ges/gesbasebin.c: * plugins/nle/nleobject.c: docs: mark more types as plugin API 2020-06-19 22:56:41 -0400 Thibault Saunier * docs/gst_plugins_cache.json: doc: Stop documenting properties from parents 2020-06-22 12:34:20 +0300 Sebastian Dröge * 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: 2020-06-20 00:28:31 +0100 Tim-Philipp Müller * meson.build: Back to development === release 1.17.1 === 2020-06-19 19:25:56 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.17.1 2020-06-19 11:13:24 -0400 Thibault Saunier * 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: 2020-06-09 10:07:13 -0400 Thibault Saunier * 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: 2020-06-09 00:03:57 -0400 Thibault Saunier * 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: 2020-06-09 16:40:11 -0400 Thibault Saunier * ges/ges-command-line-formatter.c: * ges/ges-structured-interface.c: structured-interface: Add support for setting effects inpoint Part-of: 2020-06-09 16:35:44 -0400 Thibault Saunier * 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: 2020-06-15 13:09:39 -0400 Thibault Saunier * ges/ges-pipeline.c: pipeline: doc: Add a note about trying to render before setting rendering settings Part-of: 2020-06-15 12:23:26 -0400 Thibault Saunier * ges/ges-asset.c: * ges/ges-uri-clip.c: uri-clip: Add a warning about synchronous uri discovery Part-of: 2020-06-09 15:22:30 -0400 Thibault Saunier * docs/gst_plugins_cache.json: docs: Update plugins cache 2020-06-08 10:58:43 -0400 Thibault Saunier * docs/gst_plugins_cache.json: docs: Update plugins cache 2020-06-05 15:56:00 +0200 Guillaume Desmottes * 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: 2020-06-04 23:14:59 +0200 Mathieu Duponchelle * 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: 2020-06-03 18:30:39 -0400 Thibault Saunier * docs/meson.build: doc: Require hotdoc >= 0.11.0 2020-05-27 16:03:35 +0300 Sebastian Dröge * docs/gst_plugins_cache.json: docs: Update gst_plugins_cache.json 2020-06-03 09:57:06 +0200 Guillaume Desmottes * 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: 2020-05-27 19:44:29 -0400 Thibault Saunier * ges/ges-pitivi-formatter.c: formatter: Do not dereference NULL pointer CID 1461701 Part-of: 2020-05-27 19:39:49 -0400 Thibault Saunier * ges/ges-base-xml-formatter.c: xml-formatter: Add an GST_ERROR when setting control sources fails CID 1463853 Part-of: 2020-05-26 19:14:53 -0400 Thibault Saunier * ges/ges-validate.c: validate: Wait for state change to consider commit as done Part-of: 2020-05-26 19:02:58 -0400 Thibault Saunier * tests/validate/geslaunch.py: validate: Stop always muting Part-of: 2020-05-21 17:22:18 -0400 Thibault Saunier * 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: 2020-05-21 15:42:23 +0100 Henry Wilkes * 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: 2020-05-21 11:25:30 +0100 Henry Wilkes * 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: 2020-05-20 21:23:03 +0100 Henry Wilkes * ges/ges-clip.c: clip: provide an example of using time effects Part-of: 2020-05-20 21:20:10 +0100 Henry Wilkes * 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: 2020-05-15 18:09:50 +0100 Henry Wilkes * 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: 2020-05-15 14:58:08 +0100 Henry Wilkes * 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: 2020-05-15 14:53:49 +0100 Henry Wilkes * 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: 2020-05-15 14:47:15 +0100 Henry Wilkes * 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: 2020-05-15 14:41:58 +0100 Henry Wilkes * 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: 2020-05-18 17:34:01 +0100 Henry Wilkes * ges/ges-clip.c: clip: fix warning when getting duration-limit The duration-limit case was missing a 'break;' statement. Part-of: 2020-05-12 18:18:09 +0100 Henry Wilkes * 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: 2020-05-15 14:28:09 +0100 Henry Wilkes * 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: 2020-05-15 14:25:01 +0100 Henry Wilkes * 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: 2020-05-15 12:19:16 -0400 Thibault Saunier * 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: 2020-05-15 11:53:10 -0400 Thibault Saunier * 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: 2020-05-15 18:33:46 -0400 Thibault Saunier * ges/ges-validate.c: validate: Fix setting ges properties And fix typos. Part-of: 2020-04-22 13:39:21 -0400 Thibault Saunier * 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: 2020-05-14 00:56:40 -0400 Thibault Saunier * 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: 2020-05-13 17:11:24 -0400 Thibault Saunier * 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: 2020-05-01 23:05:44 -0400 Thibault Saunier * plugins/nle/nleobject.c: nle: Use G_PARAM_DEPRECATED for media-duration-factor Part-of: 2020-05-18 08:49:53 -0400 Thibault Saunier * 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: 2020-05-13 12:11:32 +0100 Henry Wilkes * 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: 2020-05-01 12:40:58 +0100 Henry Wilkes * 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: 2020-04-30 12:10:22 +0100 Henry Wilkes * 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: 2020-04-30 12:01:52 +0100 Henry Wilkes * 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: 2020-04-30 11:50:08 +0100 Henry Wilkes * 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: 2020-04-28 17:29:22 +0100 Henry Wilkes * 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: 2020-04-27 19:11:16 +0100 Henry Wilkes * 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: 2020-04-21 12:55:34 +0100 Henry Wilkes * 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: 2020-04-27 16:27:15 +0100 Henry Wilkes * 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: 2020-04-27 16:05:54 +0100 Henry Wilkes * 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: 2020-04-24 21:00:18 +0100 Henry Wilkes * 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: 2020-04-23 17:34:52 +0100 Henry Wilkes * 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: 2020-04-23 17:30:17 +0100 Henry Wilkes * 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: 2020-04-22 15:06:32 +0100 Henry Wilkes * 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: 2020-04-21 15:06:03 +0100 Henry Wilkes * 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: 2020-04-21 14:05:55 +0100 Henry Wilkes * 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: 2020-04-21 11:36:58 +0100 Henry Wilkes * 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: 2020-04-20 14:56:55 +0100 Henry Wilkes * 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: 2020-04-20 13:13:48 +0100 Henry Wilkes * 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: 2020-04-27 14:05:38 +0100 Henry Wilkes * 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: 2020-04-27 13:58:38 +0100 Henry Wilkes * 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: 2020-04-18 16:49:31 +0100 Henry Wilkes * 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: 2020-04-18 16:34:56 +0100 Henry Wilkes * 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: 2020-04-28 18:01:04 +0100 Henry Wilkes * 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: 2020-04-13 17:42:22 +0100 Henry Wilkes * 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: 2020-05-04 10:35:25 -0400 Thibault Saunier * 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: 2020-05-05 23:03:36 -0400 Thibault Saunier * 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: 2020-05-02 01:24:18 -0400 Thibault Saunier * tests/validate/geslaunch.py: test: Add support for .validatetest in the launcher app 2020-05-01 14:26:32 +0100 Henry Wilkes * 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 * 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: 2020-04-30 13:23:05 -0400 Thibault Saunier * 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=, file=0x7f6ed8d7fd58 "../subprojects/gst-editing-services/ges/ges-track.c", line=, func=, message=) 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=, event=) 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=, message=, bin=) 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=, message=, bin=) 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=, message=, bin=) 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=, message=, bin=) 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=, message=, bin=) 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=, message=, bin=) 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=) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:5667 #41 0x00007f6ed8bc9128 in bin_bus_handler (bus=, message=, bin=) 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=, message=, bin=) 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=, func=0x7f6ed8bf5a50 , user_data=user_data@entry=0x0) at ../glib/gslist.c:880 #69 0x00007f6ec8f37d45 in gst_uri_decode_bin_change_state (element=, transition=) 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=, comp=0x10261d0 [NleComposition]) at ../subprojects/gst-editing-services/plugins/nle/nlecomposition.c:3117 #87 update_pipeline (comp=comp@entry=0x10261d0 [NleComposition], currenttime=, seqnum=, 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=, return_value=, n_param_values=, param_values=, invocation_hint=) 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=) 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: 2020-04-14 10:22:09 +0100 Henry Wilkes * 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: 2020-04-13 11:40:55 +0100 Henry Wilkes * 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: 2020-04-08 17:11:14 +0100 Henry Wilkes * 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: 2020-04-08 17:08:41 +0100 Henry Wilkes * plugins/nle/nlecomposition.c: * plugins/nle/nleoperation.c: * plugins/nle/nleoperation.h: nleoperation: stop setting next_base_time This property was unused. Part-of: 2020-04-21 16:22:31 -0400 Thibault Saunier * 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: 2020-04-24 17:15:16 -0400 Thibault Saunier * 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: 2020-04-24 16:46:50 -0400 Thibault Saunier * 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: 2020-04-18 16:22:25 +0200 Andoni Morales Alastruey * meson.build: macos: fix python's configure checks 2020-04-17 12:35:26 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-project.c: * ges/ges-timeline.c: asset: Avoid dereferencing NULL pointer CID 1461286 2020-04-09 11:20:34 -0400 Thibault Saunier * 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 * ges/gstframepositioner.c: framepositionner: Fix wrong old size check condition CID: 1461277 2020-04-09 11:16:34 -0400 Thibault Saunier * ges/ges-validate.c: validate: Avoid dereferencing NULL pointer CID: 1461266 2020-04-09 11:10:43 -0400 Thibault Saunier * ges/ges-timeline.c: timeline: Ensure setting framerate in timeline_get_framerate CID: 1461250, 1461288 2020-04-09 11:07:04 -0400 Thibault Saunier * tests/check/nle/complex.c: tests: Check that linking pads works CID: 1456061 2020-04-09 11:02:26 -0400 Thibault Saunier * 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 * plugins/ges/gesdemux.c: gesdemux: Check result of g_stat CID: 1455489, 1455521 2020-04-09 10:54:26 -0400 Thibault Saunier * tests/check/ges/tempochange.c: test: tempochange: Plug leak CID: 1455448 2020-04-09 10:42:03 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-video-test-source.c: ges: Add the foreground color child property 2020-04-07 10:53:15 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-element.c: element: Add API safe guard against invalid position in edit() 2020-03-23 21:11:45 -0300 Thibault Saunier * 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 * ges/ges-structured-interface.c: structured-interface: Fix adding clip to layer error reporting 2020-03-17 11:53:47 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 synthax. 2019-10-29 16:52:52 +0000 Henry Wilkes * 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 * 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 * 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 * 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 * 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 * ges/ges-clip.c: ges: Ensure GESClips assets are always ClipAssets 2020-02-18 15:21:38 -0300 Thibault Saunier * 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 * 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 * 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 * tools/ges-launcher.c: launch: Make command line provided sinks override scenario defined ones 2020-02-28 11:58:30 -0300 Thibault Saunier * ges/gstframepositioner.c: framepositioner: Avoid dereferencing NULL pointer 2020-03-04 16:03:30 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-validate.c: validate: Handle checking/setting subprojects ges properties 2020-03-09 11:49:02 -0300 Thibault Saunier * ges/ges-project.c: project: Do not warn when resetting URI to the same one 2020-03-05 15:56:28 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-audio-track.c: * ges/ges-video-track.c: docs: update GESAudioTrack and GESVideoTrack 2020-01-21 12:01:41 +0000 Henry Wilkes * ges/ges-enums.h: * ges/ges-pipeline.c: docs: update GESPipeline 2020-01-17 20:10:23 +0000 Henry Wilkes * ges/ges-meta-container.c: * ges/ges-meta-container.h: docs: update GESMetaContainer 2020-01-17 15:27:29 +0000 Henry Wilkes * ges/ges-extractable.c: * ges/ges-extractable.h: docs: update GESExtractable 2020-01-17 12:20:11 +0000 Henry Wilkes * ges/ges-asset.c: * ges/ges-asset.h: docs: update GESAsset 2020-01-15 14:46:02 +0000 Henry Wilkes * ges/ges-track-element.c: * ges/ges-track-element.h: docs: update GESTrackElement 2020-01-15 14:44:38 +0000 Henry Wilkes * ges/ges-track.c: * ges/ges-track.h: docs: update GESTrack 2020-01-09 12:11:35 +0000 Henry Wilkes * ges/ges-clip.c: * ges/ges-clip.h: docs: update GESClip 2020-01-09 12:09:15 +0000 Henry Wilkes * ges/ges-container.c: * ges/ges-group.c: docs: update GESGroup 2020-01-08 09:26:07 +0000 Henry Wilkes * ges/ges-container.c: * ges/ges-container.h: docs: update GESContainer 2020-01-07 17:40:53 +0000 Henry Wilkes * 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 * ges/ges-validate.c: validate: unref copied and pasted 2019-12-20 11:20:49 +0000 Henry Wilkes * 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 * 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 * 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 * examples/c/concatenate.c: add assets to layer and adjust position and duration (closes #45) 2020-03-02 19:06:17 -0300 Thibault Saunier * 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 * meson.build: * meson_options.txt: meson: Add an option to enable/disable validate integration 2020-02-22 14:23:45 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-validate.c: validate: Port to the new REPORT_ACTION API 2020-02-18 23:08:53 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * plugins/nle/nlecomposition.c: * plugins/nle/nleghostpad.c: nle: Minor typo fixes 2020-02-04 17:07:39 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-pipeline.c: pipeline: Ensure that encodebin enforces a single segment sent to encoders 2019-10-04 09:58:17 -0300 Thibault Saunier * tests/validate/geslaunch.py: validate: Move to the new GstValidateEncodingTestInterface API 2019-11-20 07:52:56 +0100 Edward Hervey * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * plugins/nle/nlecomposition.c: nlecomposition: Enhance dumping stack output 2019-10-22 12:21:04 +0200 Thibault Saunier * ges/ges-marker-list.c: ges: Handle empty marker lists 2019-10-22 11:53:36 +0200 Thibault Saunier * 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 * 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 * 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 * tools/ges-launcher.c: * tools/utils.c: * tools/utils.h: launcher: Enhance printed output 2019-10-17 16:21:28 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * .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 * 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 * 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 * ges/ges-project.c: project: Add missing safe guard when listing assets 2019-09-23 16:07:58 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-effect-clip.c: * ges/ges-layer.c: ges: Add support for EffectClip assets 2019-08-28 18:13:06 +1000 Matthew Waters * 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 ^ :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 ^ :158:1: note: expanded from here glib_autoptr_cleanup_GESSrc ^ 2019-08-27 10:02:04 -0400 Thibault Saunier * 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) { \ ^ :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) { \ ^ :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) { \ ^ :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) { \ ^ :75:1: note: expanded from here GES_IS_Demux ^ 2019-08-27 13:52:52 +1000 Matthew Waters * 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 * docs/gst_plugins_cache.json: * ges/ges-enums.h: doc: Update cache and fix usage of 2019-08-22 18:50:00 +0200 Millan Castro * 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 2019-08-20 15:29:12 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-project.c: project: Properly handle NULL project asset ID 2019-07-30 18:24:07 -0700 Thibault Saunier * ges/ges-structured-interface.c: structured: Enhance error message when no clip duration set 2019-07-30 18:22:18 -0700 Thibault Saunier * ges/ges-structured-interface.c: structured-interface: Avoid setting invalid clip duration 2019-07-16 21:51:10 -0400 Thibault Saunier * ges/ges-track.c: * ges/ges-track.h: track: Add a getter for restriction_caps 2019-07-13 21:27:46 -0400 Thibault Saunier * tools/ges-launcher.c: launch: Set user restriction caps even when loading projects 2019-07-13 21:26:35 -0400 Thibault Saunier * ges/ges-track.c: track: Enhance restriction capsfilter name 2019-07-13 13:25:48 -0400 Thibault Saunier * 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 * 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 * 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 * docs/meson.build: doc: Do not require the GStreamer cache generator 2019-07-04 15:58:44 -0400 Thibault Saunier * 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 * 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 * 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 * ges/ges-formatter.c: formatter: Handle coma separated extensions in formatter metas 2019-03-11 19:25:23 -0300 Thibault Saunier * ges/ges-formatter.c: * ges/ges-formatter.h: formatter: Duplicate const gchar* for metadatas 2019-02-05 16:08:10 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-validate.c: ges:validate: Properly error when editing container fails 2019-07-10 11:02:07 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-xml-formatter.c: xml-formatter: Lower down borring debug to _LOG 2019-07-09 00:05:21 -0400 Thibault Saunier * 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 * bindings/python/gi/overrides/GES.py: python: Add a better asset __repr__ 2019-07-07 20:55:53 -0400 Thibault Saunier * 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 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 * 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 * 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 * 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 * plugins/ges/gesdemux.c: gesdemux: Create proper stream-ids 2019-07-03 10:10:42 -0400 Thibault Saunier * tests/check/nle/nlecomposition.c: nle: Check seeking on deeply nested composition 2019-06-28 20:19:49 -0400 Thibault Saunier * 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 * plugins/nle/nlecomposition.c: nlecomposition: Drop all group-done but the last one 2019-06-28 17:35:40 -0400 Thibault Saunier * 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 * 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 * 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 * tests/validate/geslaunch.py: validate: Use proper sink and give them good names 2019-06-23 12:42:21 -0400 Thibault Saunier * ges/ges-validate.c: validate: Create folders as needed when serializing timelines 2019-06-22 23:49:50 -0400 Thibault Saunier * 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 * plugins/nle/nlecomposition.c: nlecomposition: Minor debugging enhancements 2019-06-21 11:45:20 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * tests/validate/geslaunch.py: tests: Implement nested timelines tests 2019-06-16 23:03:44 -0400 Thibault Saunier * plugins/nle/nlecomposition.c: nlecomposition: Properly set seqnum on flush events 2019-06-16 23:00:31 -0400 Thibault Saunier * 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 * 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 * 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 * tests/check/nle/nlecomposition.c: nle: Add a seeking test for nested composition 2019-06-07 16:12:26 -0400 Thibault Saunier * ges/ges-uri-asset.c: * plugins/ges/gesdemux.c: Use the new GstDiscoverer caching feature 2019-06-07 16:06:39 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * plugins/ges/gesdemux.c: gesdemux: Emit no-more-pad as required 2019-06-06 12:46:08 -0400 Thibault Saunier * 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 * plugins/ges/gesdemux.c: gesdemux: Properly combine flows 2019-06-06 10:16:50 -0400 Thibault Saunier * 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 * 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 * ges/ges-base-xml-formatter.c: xml-formatter: Refactor the way we handle loading state 2019-06-15 15:11:38 -0400 Thibault Saunier * ges/ges-base-xml-formatter.c: xml-formatter: Cleanup removing all now useless pending fields 2018-06-23 11:26:03 -0400 Thibault Saunier * 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 * 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 * docs/gst_plugins_cache.json: * plugins/ges/meson.build: docs: Add gstges plugin 2019-05-26 09:55:03 -0400 Thibault Saunier * ges/ges-validate.c: validate: Add action type to copy/paste clips 2019-05-25 20:20:07 -0400 Thibault Saunier * ges/ges-container.c: * tests/check/python/test_timeline.py: container: Handle children pasting failures 2019-05-25 18:51:08 -0400 Thibault Saunier * 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 * 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 * 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 * plugins/nle/nleobject.c: * plugins/nle/nleoperation.c: doc: remove xml from comments 2019-05-17 19:54:51 -0400 Thibault Saunier * 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 * tools/ges-launcher.c: launcher: Remove duplicated track types option 2019-05-23 18:42:34 -0400 Thibault Saunier * 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 * 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 * ges/ges-timeline-element.c: ges: Minor reorganisation of timeline-element.c 2019-01-24 08:43:00 -0300 Thibault Saunier * ges/ges-timeline-element.h: ges: Cleanup timeline-element.h indentation 2019-05-01 18:20:42 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-element.c: timeline-element: Mark edit() as Since: 1.18 2019-05-16 15:06:14 +0300 Sebastian Dröge * 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 * 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 * 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 * ges/ges-title-clip.c: title-clip: Enhance documentation 2018-10-22 08:22:52 +0200 Thibault Saunier * 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 * 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 * 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 * tools/ges-launcher.c: launch: Fix caps restriction short names 2019-05-04 10:47:07 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * RELEASE: * configure.ac: * meson.build: Back to development === release 1.16.0 === 2019-04-19 00:35:57 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: * meson.build: Release 1.16.0 2019-04-18 16:44:31 -0400 Thibault Saunier * ges/ges-asset.c: asset: Avoid unrefing a task we do not own 2019-04-17 23:53:14 +0200 Alexandru Băluț * ges/ges-clip.c: clip: Optimize set_top_effect_index by checking parent sooner 2019-04-17 23:51:13 +0200 Alexandru Băluț * 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ț * ges/ges-clip.c: clip: Remove obsolete FIXME 2019-04-11 23:58:48 +0200 Alexandru Băluț * 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ț * ges/ges-container.c: ges: Remove unused nb_effects field 2019-04-12 17:30:14 +0300 Mart Raudsepp * 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 * 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 * 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 * 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 * ges/gstframepositioner.c: framepositioner: Plug caps leak 2019-04-09 08:56:08 -0400 Thibault Saunier * ges/ges-xml-formatter.c: xml-formatter: Plug some leaks 2019-04-08 16:25:59 -0400 Thibault Saunier * ges/ges-timeline.c: timeline: Plug leak of the auto transition asset 2019-04-08 16:25:44 -0400 Thibault Saunier * ges/ges-timeline-tree.c: tree: Plug a GList leak 2019-04-08 16:25:29 -0400 Thibault Saunier * ges/ges-pipeline.c: pipeline: Plug pad leak 2019-04-08 16:23:18 -0400 Thibault Saunier * 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 * 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 * ges/ges-base-xml-formatter.c: xml-formatter: Free pending clips on disposal 2019-03-28 13:51:36 -0300 Thibault Saunier * ges/ges-asset.c: asset: Plug a GError leak 2019-03-28 13:08:55 -0300 Thibault Saunier * 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 * ges/ges-asset.c: asset: s/unsure/ensure 2019-03-28 13:06:37 -0300 Thibault Saunier * ges/ges-project.c: asset: Plug a leak of EncodingProfiles 2019-03-28 13:06:16 -0300 Thibault Saunier * 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 * ges/ges-asset.c: asset: plug a GTask leak 2019-03-28 11:29:05 -0300 Thibault Saunier * ges/ges-track-element.c: * tests/check/ges/clip.c: Fix splitting control bindings leaks 2019-03-28 11:09:13 -0300 Thibault Saunier * tests/check/ges/asset.c: tests: Fix a leak in the 'asset' test 2019-03-28 11:08:58 -0300 Thibault Saunier * ges/ges-timeline-tree.c: tree: Fixup some GList leaks 2019-04-15 18:37:58 +0900 Yeongjin Jeong * 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 * 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 * 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 * ges/ges-video-source.c: videosource: Expose video-direction child property 2019-03-15 16:24:16 +0100 Jakub Adam * 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 * ges/Makefile.am: Fix autotools build 2019-03-08 17:45:27 -0300 Thibault Saunier * 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 * 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 * 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 * examples/c/gessrc.c: * plugins/ges/gesdemux.c: Some copyright fixing 2019-03-03 20:59:12 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Rename group_id to stream_start_group_id 2019-03-01 19:30:41 -0300 Thibault Saunier * 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 * 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 * bindings/python/gi/overrides/GES.py: python: Implement TimelineElement.__repr__ 2019-02-28 13:56:50 -0300 Thibault Saunier * ges/ges-enums.c: * ges/ges-enums.h: Add API to get the GESEdge names 2019-02-09 18:59:08 -0300 Thibault Saunier * 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 * tests/check/python/test_timeline.py: tests:python: assertEquals is deprecated, use assertEqual 2019-02-08 17:48:26 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline.c: timeline: Do not ripple if resulting duration would be 0 2019-02-08 16:44:39 -0300 Thibault Saunier * 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 * 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 * ges/ges-internal.h: * tests/check/ges/test-utils.h: Shorten GES_FORMAT output 2019-02-21 17:24:51 -0300 Thibault Saunier * 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 * ges/ges-source.c: source: No checks when linking default elements 2019-03-15 18:31:30 -0300 Thibault Saunier * plugins/nle/nlesource.c: nlesource: Use gst_element_call_async as appropriate 2019-03-15 17:07:06 -0300 Thibault Saunier * 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=) at gthreadpool.c:307 #4 0x00007f5976a7e2aa in g_thread_proxy (data=0x7f5954071d40) at gthread.c:784 #5 0x00007f59767ea58e in start_thread (arg=) 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=, n_fds=2, fds=0xe32da0, timeout=, context=0xe31ff0) at gmain.c:4221 #2 0x00007f5976a553a6 in g_main_context_iterate (context=0xe31ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=) 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=) 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=, n_fds=1, fds=0xe1bcc0, timeout=, 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=) 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=) at gmain.c:5861 #5 0x00007f5976a7e2aa in g_thread_proxy (data=0xe1b800) at gthread.c:784 #6 0x00007f59767ea58e in start_thread (arg=) 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_=) 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=) 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=) at ../subprojects/gst-editing-services/tools/ges-launch.c:94 2019-02-08 18:26:19 -0300 Thibault Saunier * tests/benchmarks/meson.build: * tests/meson.build: meson: Build benchmarks 2019-03-11 19:56:09 -0300 Thibault Saunier * 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 * ges/ges-formatter.h: Mark ges_timeline_load_from_uri as deprecated 2019-02-20 20:17:55 -0800 Pat DeSantis * ges/ges-formatter.h: Update deprecation warning to match GTK style 2019-02-20 17:17:14 -0800 Pat DeSantis * ges/ges-formatter.h: Mark ges_formatter_save_to_uri as deprecated 2019-01-29 13:45:49 +0900 Seungha Yang * 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 * 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 * 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 * 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 * plugins/nle/nlesource.c: nlesource: Don't leak pending seek event on dispose 2019-02-01 15:37:42 +0900 Seungha Yang * 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 * examples/.gitignore: examples: add gessrc example binary to .gitignore 2019-03-04 11:07:51 +0000 Tim-Philipp Müller * 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 * NEWS: * RELEASE: * configure.ac: * meson.build: Back to development 2019-02-28 13:09:38 +0200 Sebastian Dröge * 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 * 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 * examples/c/Makefile.am: examples: add new gessrc example, so sourcefile gets disted 2019-02-26 13:57:17 +0000 Tim-Philipp Müller * 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 * examples/python/keyframes.py: examples: Add an example about using keyframes in python 2019-02-11 18:26:04 +0900 Seungha Yang * 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 * 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 * 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 * tests/check/python/test_timeline.py: tests: Fix usage of undefined class 2019-01-28 19:09:03 -0300 Thibault Saunier * tools/ges-launcher.c: launcher: Add options to set tracks restriction caps 2019-01-28 00:55:27 +0900 Yeongjin Jeong * tests/check/ges/transition.c: * tests/check/ges/uriclip.c: tests: ges: Fix various leak 2019-01-26 19:50:48 +0900 Yeongjin Jeong * ges/ges-layer.c: layer: Fix asset leak 2019-01-26 16:44:09 +0900 Yeongjin Jeong * ges/ges-effect.c: effect: Fix string leak 2019-01-29 11:52:43 +0900 Yeongjin Jeong * 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 * 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 * 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ț * 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 * 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 * ges/ges-xml-formatter.c: xml-formatter: Minor debug enhancement 2019-01-18 09:52:47 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges.c: ges: Print initialize error reasons 2019-01-28 12:19:30 +0900 Seungha Yang * tests/check/ges/asset.c: tests: asset: Remove out-of-date comment 2019-01-28 12:17:00 +0900 Seungha Yang * 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 * 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 * 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 * 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 * ges/ges-timeline.c: timeline: fix two issues in the documentation 2019-01-15 09:59:59 -0300 Thibault Saunier * ges/ges-xml-formatter.c: xml-formatter: Do not forget to serialize clips metadata 2019-01-15 09:38:14 -0300 Thibault Saunier * 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 * ges/ges-uri-asset.c: uri-asset: Don't leak GstDiscovererInfo 2019-01-15 00:13:24 +0900 Seungha Yang * ges/ges-uri-asset.c: uri-asset: Impl. dispose vfunc ... and fix GList/GESAsset leak 2019-01-14 23:38:19 +0900 Seungha Yang * 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 * 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 * 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 * plugins/nle/nlecomposition.c: * plugins/nle/nleghostpad.c: nleghostpad: Fix GstEvent leak 2019-01-14 12:52:47 +0900 Seungha Yang * plugins/nle/nlecomposition.c: nlecomposition: Don't leak GNode Clear the last node before update 2019-01-14 13:22:13 +0900 Seungha Yang * 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 * 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 * 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 * ges/ges-asset.c: asset: Fix various leak 2019-01-12 21:59:20 +0900 Seungha Yang * ges/ges-enums.c: enums: Add missing unref 2019-01-12 21:52:16 +0900 Seungha Yang * plugins/nle/nlecomposition.c: nlecomposition: Clear all members before chaining up to parent on finalize 2019-01-12 21:51:36 +0900 Seungha Yang * ges/ges-structure-parser.c: structure-parser: Add missig chain up code 2019-01-12 20:53:38 +0900 Seungha Yang * ges/ges.c: ges: Add missing type unref on deinit 2019-01-12 20:23:50 +0900 Seungha Yang * 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 * 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 * ges/ges-asset.c: asset: Use static lock The mutex life cycle follows processs. 2019-01-14 10:16:18 +0900 Seungha Yang * 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 * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: * meson.build: Release 1.15.1 2019-01-14 18:32:23 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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ț * ges/ges-meta-container.c: ges-meta-container: Fix warning message 2019-01-04 05:31:39 +0100 Alexandru Băluț * ges/ges-meta-container.c: ges-meta-container: Minor documentation fixes 2019-01-04 12:36:20 +0100 Thibault Saunier * 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 * 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 * ges/ges-container.c: container: Fix GHashTable leak 2018-12-27 00:15:30 +0900 Seungha Yang * 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 * 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 * 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 * ges/meson.build: build: also allow building static libraries for e.g. Android/iOS 2018-12-05 17:25:04 -0300 Thibault Saunier * common: Automatic update of common submodule From ed78bee to 59cb678 2018-11-30 12:41:04 -0300 Thibault Saunier * 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 * 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 * ges/ges-track-element.c: track: Fix documentation about "binding_type" 2018-11-26 17:18:25 -0300 Thibault Saunier * 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 * meson.build: meson: Fix the reference to libxml2 path 2018-11-26 14:50:29 -0300 Thibault Saunier * meson.build: meson: Add a fallback for libxml2 2018-11-26 14:50:03 -0300 Thibault Saunier * 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 * 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 * ges/ges-effect-asset.c: effect: Consider the "Filter" classification to determine effect media type 2018-11-12 12:47:02 +0200 Jordan Petridis * .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ț * 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 * 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 * meson.build: * plugins/nle/meson.build: nle: install pkg-config file for plugin 2018-11-05 11:00:58 +0100 Corentin Noël * 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 * .gitmodules: * gst-editing-services.doap: Update git location to gitlab 2018-11-02 14:32:04 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * bindings/python/gi/overrides/__init__.py: python: Remove debug print 2018-10-22 08:13:07 +0100 Sebastian Dröge * 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 * 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 * 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 * 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 * ges/ges.c: ges: Check that nle is avalaible when initializing 2018-09-01 12:17:08 +0530 Nirbheek Chauhan * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tests/check/nle/tempochange.c: tests: Minor assertion enahncements 2018-07-19 10:55:31 -0400 Thibault Saunier * 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 * 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 * 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 * bindings/python/gi/overrides/GES.py: python:overrides: Remove spurious print 2018-07-08 10:36:36 -0400 Thibault Saunier * 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 * 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 * ges/Makefile.am: * meson.build: Set GLib log domain to GES 2018-07-01 12:21:54 -0400 Thibault Saunier * 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 * ges/ges-asset.c: asset: documentation fix 2018-06-15 16:49:55 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * meson.build: meson: use -Wl,-Bsymbolic-functions where supported Just like the autotools build. 2018-04-20 18:45:19 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From 3fa2c9e to ed78bee 2018-03-31 13:39:54 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * NEWS: * RELEASE: * configure.ac: * meson.build: Back to development === release 1.14.0 === 2018-03-19 20:28:10 +0000 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: * meson.build: Release 1.14.0 2018-03-19 08:57:47 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: * meson.build: Release 1.13.90 2018-02-26 04:01:33 +0530 Harish Fulara * 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 * meson.build: meson: enable more warnings 2018-02-27 10:00:32 -0300 Thibault Saunier * tests/check/ges/layer.c: test: Plug minor leaks 2018-02-27 15:26:29 +0530 Harish Fulara * 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 * ges/meson.build: meson: Explicitely include GObject-2.0 in the gir 2018-02-21 19:42:19 +0000 Tim-Philipp Müller * meson.build: meson: simplify GST_DISABLE_GST_DEBUG check some more 2018-02-21 19:20:56 +0000 Tim-Philipp Müller * 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 * configure.ac: * meson.build: Back to development === release 1.13.1 === 2018-02-15 17:20:22 +0000 Tim-Philipp Müller * NEWS: * configure.ac: * gst-editing-services.doap: * meson.build: Release 1.13.1 2018-02-08 19:16:26 +0000 Tim-Philipp Müller * 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 * 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 * 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 * 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 * tests/check/ges/asset.c: check: Fix minor leak in test 2017-12-19 23:28:53 +0100 Mathieu Duponchelle * 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 * common: Automatic update of common submodule From e8c7a71 to 3fa2c9e 2017-11-27 11:49:04 +0100 Edward Hervey * 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 * common: Automatic update of common submodule From 3f4aa96 to e8c7a71 2017-11-26 13:31:02 +0000 Tim-Philipp Müller * configure.ac: configure: remove c++ compiler bits that are unused 2017-11-26 13:29:33 +0000 Tim-Philipp Müller * 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 * 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 * .gitignore: .gitignore: ignore test registry 2017-11-25 15:56:36 -0300 Thibault Saunier * 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 * 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 * 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 * ges/ges-auto-transition.c: auto-transition: Fix debug printf format 2017-11-07 10:15:58 -0300 Thibault Saunier * ges/ges-auto-transition.c: * ges/ges-timeline.c: timeline: Do not snap object within the moving context Reviewed-by: Alex Băluț <> Differential Revision: https://phabricator.freedesktop.org/D1873 2017-10-31 12:05:08 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * tests/validate/scenarios/Makefile.am: make: Fix validate scenario install directory 2017-09-07 12:07:03 -0400 Nicolas Dufresne * 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 * 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 Differential Revision: https://phabricator.freedesktop.org/D1842 2017-08-29 22:23:57 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-validate.c: validate: Add an action type to ungroup containers 2017-08-17 12:26:24 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 48a5d85 to 3f4aa96 2017-08-12 10:04:03 +0100 Tim-Philipp Müller * 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 * 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 * meson.build: meson: hide symbols by default unless explicitly exported 2017-08-11 21:41:52 +0100 Tim-Philipp Müller * 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 * 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 * 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 * tests/validate/geslaunch.py: validate: Check subprocess return code in rendering tests 2017-08-10 15:18:22 +0100 Tim-Philipp Müller * tests/validate/geslaunch.py: validate: fix error message 2017-08-10 13:46:03 +0100 Tim-Philipp Müller * docs/libs/meson.build: * docs/meson.build: meson: fix a few warnings 2017-08-07 15:35:58 -0400 Thibault Saunier * 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 * 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 * 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 * win32/common/libges.def: win32: Update .def file 2017-07-31 12:54:25 -0400 Thibault Saunier * 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 * ges/ges-asset.c: asset: Clear loading error when reload is requested 2017-07-27 21:15:34 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-pipeline.c: pipeline: Make sure tracks are unlinked on NULL->NULL state changes 2017-07-24 10:34:48 -0400 Thibault Saunier * ges/ges-pipeline.c: * ges/ges-source.c: Enhance some pad linking issue debug logging. 2017-07-13 16:38:04 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * meson.build: meson: Allow using glib as a subproject 2017-06-23 16:04:01 -0400 Thibault Saunier * 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 * Makefile.am: Don't dist config.meson.h as it no longer exist 2017-06-09 21:37:48 +0100 Tim-Philipp Müller * config.h.meson: * meson.build: meson: remove config.h.meson 2017-06-07 12:08:00 -0400 Thibault Saunier * 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 * ges/ges-validate.c: validate: Port to new GstValidate API for pipeline retrieval 2017-05-15 09:13:38 +0200 Sebastian Dröge * 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 * 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 * configure.ac: * meson.build: Back to development === release 1.12.0 === 2017-05-04 15:43:12 +0300 Sebastian Dröge * 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 * 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 * common: Automatic update of common submodule From 60aeef6 to 48a5d85 2017-04-10 23:51:18 +0100 Tim-Philipp Müller * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: * meson.build: Release 1.11.90 2017-04-04 16:27:33 -0400 Nicolas Dufresne * data/completions/ges-launch-1.0: completion: Fix previous commit 2017-04-04 16:20:17 -0400 Nicolas Dufresne * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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ț <> Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1689 2017-03-13 09:30:39 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline.c: ges: Minor GESTimeline documentation fix 2017-03-09 17:49:44 -0300 Thibault Saunier * 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 * ges/ges-asset.h: * ges/ges-extractable.h: extractable: Typedef only in its own .h 2017-03-08 18:26:42 -0300 Thibault Saunier * docs/hotdoc/index.md: * docs/hotdoc/meson.build: * ges/meson.build: * meson.build: Fhotdoc 2017-03-08 18:13:48 -0300 Thibault Saunier * 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 * 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 * 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 * ges/gstframepositioner.c: framepositioner: Prevent division by zero CID 1369046 CID 1369047 2017-02-28 15:36:46 +0200 Sebastian Dröge * ges/ges-timeline.c: ges-timeline: Document intentional case-fall-through CID 1364754 2017-02-28 13:02:44 +0200 Sebastian Dröge * 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 * 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 * 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 * 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 * meson.build: meson: Update version 2017-02-24 15:37:55 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.11.2 === 2017-02-24 15:10:01 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.11.2 2017-02-15 12:52:24 -0300 Thibault Saunier * meson.build: * meson_options.txt: meson: Add an option to disable doc generation 2017-02-15 12:51:51 -0300 Thibault Saunier * ges/ges-meta-container.c: Minor documentation fix 2017-02-15 00:58:52 +0000 Tim-Philipp Müller * 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 * win32/common/libges.def: win32: Update def file 2017-02-06 13:18:32 +0100 Guillaume Desmottes * 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 * ges/ges-meta-container.c: ges-meta: Minor documenation fix 2017-02-06 12:07:26 +0100 Guillaume Desmottes * 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 * ges/ges-uri-asset.c: uri-clip-asset: Add file-size metadata Add file-size metadata to GESUriClipAsset. Reviewed-by: Thibault Saunier Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1645 2017-02-03 12:50:11 -0300 Thibault Saunier * 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 * 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 * meson.build: meson: bump version 2016-10-29 16:24:53 +0100 Tim-Philipp Müller * 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 * configure.ac: Back to development === release 1.11.1 === 2017-01-12 16:20:08 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.11.1 2017-01-09 12:12:34 -0300 Thibault Saunier * 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ț * tests/check/python/test_timeline.py: tests_: Check the order of signals when a transition is created Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1391 2016-12-21 12:22:31 +0100 Alexandru Băluț * 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ț * ges/ges-asset.c: asset: Reuse local variable Differential Revision: https://phabricator.freedesktop.org/D1573 2017-01-04 15:55:36 +0100 Guillaume Desmottes * 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 * tools/utils.c: ges-launch: Use standard GstEncodingProfile deserialization function 2016-12-22 10:00:06 -0300 Thibault Saunier * tests/validate/geslaunch.py: validate: Remove space breaking muting ges-launch 2016-12-22 09:48:58 -0300 Thibault Saunier * 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 * tools/meson.build: meson: Install ges-launch 2016-12-16 17:29:59 +0000 Tim-Philipp Müller * .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 * 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 * 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 * 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 * 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 * 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 * meson.build: meson: Support building without Gst debug 2016-12-03 08:21:07 +0100 Edward Hervey * common: Automatic update of common submodule From 1416c16 to 39ac2f5 2016-12-01 17:08:43 -0300 Thibault Saunier * 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 * 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 * 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 * tools/ges-launch.c: tools: Deinit Gst before exiting 2016-11-29 10:37:11 -0300 Thibault Saunier * meson.build: meson: Do not print error logs when building the gir 2016-11-28 17:07:39 -0800 Scott D Phillips * examples/c/assets.c: examples: remove #include 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 * .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 * 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 * ges/ges.c: ges: Add NULL check before dereferencing CID 1394494. 2016-11-20 15:34:46 +0100 Philippe Renon * 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 * 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 * common: Update common submodule 2016-11-17 10:31:50 -0800 Scott D Phillips * 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 * 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 * 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 * ges/ges-command-line-formatter.c: * ges/parse.l: parse: Don't #include 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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ț * 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ț * ges/ges-timeline-element.c: * ges/ges-timeline.c: * ges/ges-track-element.c: ges: Fix documentation and debug comments Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1393 2016-01-12 14:51:55 +0000 Mathieu Duponchelle * 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 Differential Revision: https://phabricator.freedesktop.org/D657 2016-11-09 17:14:19 +0200 Sebastian Dröge * 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 * tests/validate/geslaunch.py: test:validate: Port to python3 2016-11-09 11:48:09 +0200 Sebastian Dröge * ges/ges-timeline.c: ges-timeline: Fix typo in debug messages 2016-10-08 10:43:07 +0200 Thibault Saunier * 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ț Differential Revision: https://phabricator.freedesktop.org/D1362 2016-10-07 15:31:40 +0200 Thibault Saunier * 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ț Differential Revision: https://phabricator.freedesktop.org/D1361 2016-10-06 19:14:57 +0200 Thibault Saunier * 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ț * 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 * 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 * meson.build: meson: update version === release 1.11.0 === 2016-11-01 18:53:15 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.10.0 === 2016-11-01 18:12:35 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.10.0 2016-10-25 08:54:11 -0700 Scott D Phillips * 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 * 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 * 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 * meson.build: meson: mark gstreamer-check-1.0 as required: false 2016-10-15 22:21:24 +0530 Nirbheek Chauhan * 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 * 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 * 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ț Differential Revision: https://phabricator.freedesktop.org/D1370 2016-09-13 12:31:54 -0300 Thibault Saunier * tests/check/meson.build: meson: Add python tests 2016-09-30 11:35:42 -0300 Thibault Saunier * 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 * meson.build: meson: update version === release 1.9.90 === 2016-09-30 13:04:39 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.9.90 2016-09-23 20:41:04 -0300 Thibault Saunier * 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 * ges/meson.build: meson: Fix installing configured files 2016-08-13 19:54:22 -0400 Thibault Saunier * 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 * 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 * 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 * 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ț Differential Revision: https://phabricator.freedesktop.org/D1282 2016-08-11 13:19:44 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * configure.ac: configure: Depend on gstreamer 1.9.2.1 2016-09-06 14:27:38 +0200 Alexandru Băluț * 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 Differential Revision: https://phabricator.freedesktop.org/D1302 2016-09-06 15:49:49 +0200 Alexandru Băluț * tests/check/python/test_group.py: tests_: Make sure child-removed is emitted when ungrouping Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1301 2016-09-06 13:03:11 +0200 Alexandru Băluț * ges/ges-timeline.c: timeline: Fix documentation Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1300 2016-09-05 12:23:30 +0200 Alexandru Băluț * README: Remove obsolete dependency Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D1299 2016-09-10 20:52:38 +1000 Jan Schmidt * autogen.sh: * common: Automatic update of common submodule From b18d820 to f980fd9 2016-09-10 09:58:37 +1000 Jan Schmidt * autogen.sh: * common: Automatic update of common submodule From f49c55e to b18d820 2016-09-09 17:14:43 -0300 Thibault Saunier * 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 * 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 * ges/meson.build: * tests/validate/geslaunch.py: test:validate: Handle new expected_failures Test argument 2016-09-07 16:53:06 -0300 Thibault Saunier * meson.build: * tests/check/meson.build: meson: Do not build libges against libcheck 2016-09-05 17:55:42 -0300 Thibault Saunier * 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 * 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 * 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 * configure.ac: Back to development === release 1.9.2 === 2016-09-01 12:33:13 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.9.2 2016-08-25 15:04:54 -0300 Thibault Saunier * 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 * .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 * .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 * 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 * 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 * 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 * 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 * 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 * 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 * tests/validate/geslaunch.py: tests:validate: Also test opus and theora in OGG 2016-07-29 15:48:28 -0400 Thibault Saunier * ges/ges-pipeline.c: * tests/validate/geslaunch.py: validate: Start also testing jpeg encoding 2016-07-28 21:50:58 -0400 Thibault Saunier * 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 * 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 Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D381 2016-07-28 19:30:28 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * tools/ges-validate.c: ges:validate: Check that no extra decoding happens 2016-07-26 11:59:39 -0400 Thibault Saunier * 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 * 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 * ges/Makefile.am: fixed ges-version.h not found issue during out of tree build 2016-07-22 07:32:51 -0400 Thibault Saunier * 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 * tests/validate/geslaunch.py: tests:validate: Better choose tested rendering formats 2016-07-11 21:16:11 +0200 Stefan Sauer * common: Automatic update of common submodule From f363b32 to f49c55e 2016-07-06 13:51:18 +0300 Sebastian Dröge * configure.ac: Back to development === release 1.9.1 === 2016-07-06 13:45:17 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.9.1 2016-06-29 00:39:02 +0000 Justin Kim * 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 * 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 * common: Automatic update of common submodule From ac2f647 to f363b32 2016-06-20 21:29:44 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-meta-container.c: ges: Emit GESMetontainer::notify-meta even if value is unset 2016-05-30 10:51:51 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-container.c: container: Handle setting children properties that need prefixing 2016-04-29 10:29:00 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-types.h: ges: #include glib.h for G_BEGIN_DECLS 2016-04-28 13:39:27 +0300 Sebastian Dröge * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From 6f2d209 to ac2f647 2016-04-13 12:32:53 +0300 Sebastian Dröge * tests/check/ges/timelineedition.c: tests: Rename positionner to positioner in the tests too 2016-04-13 12:31:05 +0300 Sebastian Dröge * 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 * 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 * 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 * ges/ges-video-transition.c: transition: Lower done some debug loggin level 2016-03-27 23:40:16 +0200 Thibault Saunier * plugins/nle/nlecomposition.c: Minor fix 2016-04-01 10:09:39 +0200 Thibault Saunier * 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 * tests/.gitignore: * tests/check/ges/.gitignore: tests: Add some things to .gitignore 2016-04-03 18:06:00 +0200 Aurélien Zanelli * 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 * 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 * 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 * configure.ac: Back to development === release 1.8.0 === 2016-03-24 13:05:16 +0200 Sebastian Dröge * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.7.91 2016-03-11 17:31:15 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.7.90 2016-02-26 21:13:37 +0100 Sjors Gielen * 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 * ges/ges-effect.c: ges: Register scaletempo::rate as a rate changing property 2015-12-20 14:03:57 +0100 Sjors Gielen 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 * common: Automatic update of common submodule From b64f03f to 6f2d209 2016-02-16 12:49:57 +0000 Fabian Orccon * 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 * configure.ac: Back to development === release 1.7.2 === 2016-02-19 12:26:27 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.7.2 2016-02-18 15:26:11 +0000 Julien Isorce * 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 * 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 * ges/ges-track-element.c: ges: Give better names to nleobjects 2016-02-05 20:02:40 -0300 Thiago Santos * 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 * autogen.sh: * common: Automatic update of common submodule From 86e4663 to b64f03f 2016-01-28 13:37:13 +0100 Lubosz Sarnecki * ges/ges-title-source.c: titlesource: Add properties for text dimensions. 2016-02-02 20:31:13 +0100 Lubosz Sarnecki * 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 * 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 Differential Revision: https://phabricator.freedesktop.org/D740 2016-01-25 16:11:14 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D739 2016-01-25 15:57:22 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D738 2016-01-25 15:51:26 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D737 2016-01-25 11:56:57 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D736 2016-01-19 11:22:57 +0100 Thibault Saunier * ges/ges-timeline.c: timeline: Avoid possible crash disposing the timeline 2016-01-19 11:15:58 +0100 Thibault Saunier * ges/Makefile.am: g-i: fix init section to avoid compiler warnings 2016-01-06 17:20:20 +0100 Thibault Saunier * ges/ges-container.c: container: Update start if adding a child that as a start < current start Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D629 2016-01-06 18:14:07 +0100 Thibault Saunier * ges/ges-timeline.c: timeline: Fix infinite loop on dispose Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D628 2016-01-01 11:56:27 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D616 2015-12-22 23:21:44 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D601 2016-01-02 16:15:02 +0100 Thibault Saunier * ges/Makefile.am: Do not install ges-smart-video-mixer.h it should always have been private Reviewed-by: Thibault Saunier Differential Revision: https://phabricator.freedesktop.org/D617 2016-01-06 09:50:39 +0100 Thibault Saunier * 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 Differential Revision: https://phabricator.freedesktop.org/D627 2016-01-09 05:15:47 +0100 Mathieu Duponchelle * plugins/nle/nlecomposition.c: nlecomposition: use correct type for flush_seqnum. 2016-01-09 05:14:36 +0100 Mathieu Duponchelle * plugins/nle/nleghostpad.c: nleghostpad: use GST_SEGMENT_FORMAT This isn't 2005 anymore. 2015-12-29 18:08:03 +0200 Sebastian Dröge * 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 * 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 * 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 * configure.ac: Back to development === release 1.7.1 === 2015-12-24 15:07:57 +0100 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.7.1 2015-12-22 09:58:06 +0100 Sebastian Dröge * 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 * 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 * ges/ges-uri-clip.c: uri-clip: Copy sources child properties when resetting asset 2015-03-12 13:57:28 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * autogen.sh: * common: Automatic update of common submodule From b319909 to 86e4663 2015-11-26 23:11:36 +0530 Sebastian Dröge * 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 * 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 * configure.ac: * tests/check/Makefile.am: tests: Properly setup GST_PLUGIN_PATH in test environement 2015-11-15 00:31:21 +0100 Thibault Saunier * Makefile.am: Dist gst-editing-services.doap 2015-11-08 22:49:43 +0100 Thibault Saunier * 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 * ges/ges-project.c: * ges/ges-project.h: project: Add a 'asset-loading' signal 2015-11-05 11:16:31 +0100 Thibault Saunier * .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 2015-11-04 20:20:10 +0100 Thibault Saunier * 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 * 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 * 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 * common: Automatic update of common submodule From b99800a to b319909 2015-10-20 17:29:42 +0300 Sebastian Dröge * 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 * common: Automatic update of common submodule From 9aed1d7 to b99800a 2015-10-02 22:27:37 +0300 Sebastian Dröge * configure.ac: Update GLib dependency to 2.40.0 2015-10-02 16:51:56 +0200 Justin Kim * 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 * 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 * 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 * 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 * 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 * .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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * configure.ac: Back to development === release 1.6.0 === 2015-09-25 12:29:40 +0200 Thibault Saunier * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.6.0 2015-09-24 13:21:15 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-video-transition.c: video-transition: Make compositor background transparent Allowing further mixing downstream 2015-09-23 21:12:33 +0200 Thibault Saunier * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.5.91 2015-09-18 10:01:44 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-video-source.c: video-source: Use the priority being set to compute zorder 2015-09-02 23:27:16 +0200 Thibault Saunier * ges/ges-video-transition.c: video:transition: Set mixer pad zorder 2015-09-02 17:58:33 +0200 Thibault Saunier * 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 * 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 * 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 * configure.ac: Add support for static plugins builds === release 1.5.90 === 2015-08-20 17:55:48 +0200 Thibault Saunier * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.5.90 2015-08-19 11:24:11 +0200 Thibault Saunier * .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 * ges/nle/nlecomposition.c: nle: Enhance debug logging 2015-07-23 11:42:48 +0200 Thibault Saunier * 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 * 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 * 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 * gst-editing-services.doap: Update mailing list in doap file 2015-07-16 10:54:54 +0200 Thibault Saunier * 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 * ges/ges-timeline-element.c: ges; Minor debug enhancement 2015-07-13 13:48:40 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From f74b2df to 9aed1d7 2015-07-03 13:49:57 +0200 Thibault Saunier * 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 * ges/ges-structured-interface.c: structured-interface: Better handle CLOCK_TIME type from GstStructures 2015-06-29 18:04:32 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-track-element.c: * ges/ges-xml-formatter.c: ges: Handle absolute GstDirectControlBindings 2015-06-13 18:48:20 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-track.c: track: Give usefull name to compositions 2015-06-25 11:03:12 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * configure.ac: Back to development === release 1.5.2 === 2015-06-24 17:44:04 +0200 Thibault Saunier * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.5.2 2015-06-23 09:41:01 +0100 Tim-Philipp Müller * ges/nle/nlesource.c: nlesource: remove outdated comment 2015-06-16 17:50:38 -0400 Nicolas Dufresne * common: Automatic update of common submodule From 6015d26 to f74b2df 2015-06-10 17:54:20 +0200 Thibault Saunier * 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 * 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 * 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 * tools/ges-validate.c: ges-launch: don't print random position/duration values at startup 2015-06-09 11:30:59 +0200 Edward Hervey * common: Automatic update of common submodule From d9a3353 to 6015d26 2015-06-08 23:08:40 +0200 Stefan Sauer * common: Automatic update of common submodule From d37af32 to d9a3353 2015-06-07 23:07:40 +0200 Stefan Sauer * common: Automatic update of common submodule From 21ba2e5 to d37af32 2015-06-07 17:32:34 +0200 Stefan Sauer * common: Automatic update of common submodule From c408583 to 21ba2e5 2015-06-07 17:16:53 +0200 Stefan Sauer * autogen.sh: * common: Automatic update of common submodule From d676993 to c408583 2015-06-05 19:59:08 +0200 Thibault Saunier * ges/ges-timeline.c: timeline: Never snap end when rippling http://phabricator.freedesktop.org/T74 2015-06-05 19:58:16 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline.c: timeline: Use a simple GList to track auto transitions 2015-01-12 13:05:30 +0100 Thibault Saunier * 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 * ges/ges-layer.c: timeline: Minor documentation addition 2015-05-18 21:24:25 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * .gitignore: Update .gitignore 2015-04-22 15:07:58 +0200 Edward Hervey * 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 * 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 * 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 * ges/ges-timeline.c: ges: Add debug output when get_element returns NULL 2015-04-15 12:18:15 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * autogen.sh: * common: Automatic update of common submodule From bc76a8b to c8fb372 2015-03-31 14:26:19 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * data/completions/ges-launch-1.0: completions: port to new base gst script 2015-03-24 17:13:20 +0100 Mathieu Duponchelle * data/completions/ges-launch-1.0: completions: Fix completions after the first command. 2015-03-24 13:01:39 +0100 Mathieu Duponchelle * 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 * tools/ges-launch.c: ges-launch: no need for a tmp string pointer 2015-03-24 11:19:09 +0000 Luis de Bethencourt * tools/ges-launch.c: ges-launch: free string before going out of scope CID #1291632 2015-02-26 17:08:43 +0100 Mathieu Duponchelle * ges/Makefile.am: build: fix make distcheck. 2015-03-17 18:25:02 +0100 Thibault Saunier * 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 * 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 * 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 * tools/ges-launch.c: ges-launch: Remove useless options, rename some short options. 2015-02-26 13:19:25 +0100 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * ges/ges-structured-interface.c: ges-structured-interface: fix build 2015-02-20 12:26:54 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tools/parse.l: launcher: Add support to --set-property in the parser 2015-02-19 08:51:20 +0100 Mathieu Duponchelle * .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 * 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 * 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 * .arcconfig: * ges/ges-container.c: container: implement children property handling 2015-02-19 16:30:18 +0100 Thibault Saunier * 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 * 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 * .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 * .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 * ges/ges-types.h: ges: Remove all reference to already dead GESSimpleLayer 2015-03-05 13:53:15 +0000 Luis de Bethencourt * 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 * tests/examples/test4.c: examples: check argument is valid 2015-02-27 01:26:24 +0000 Tim-Philipp Müller * 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 * 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 * 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 * configure.ac: build: fix make distcheck. And install bash-completions in the supplied prefix. 2015-02-20 15:22:25 +0100 Mathieu Duponchelle * 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 * 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 * 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 * 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 * configure.ac: configure: Bump our Gst related dependencies to 1.5.0.1 2015-02-04 15:21:55 +0100 Thibault Saunier * ges/nle/nlecomposition.c: nlecomposition: Properly protect the children task 2015-02-03 12:02:42 +0100 Mathieu Duponchelle * 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 * 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 * ges/ges-validate.c: validate: Properly expose the commit action as ASYNC 2015-01-27 21:16:05 +0100 Thibault Saunier * ges/ges-layer.c: layer: Remove child from children list before emitting "child-removed" 2015-01-26 18:25:02 +0000 Luis de Bethencourt * 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 * 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 * 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 * common: Automatic update of common submodule From f2c6b95 to bc76a8b 2014-12-18 10:56:54 +0100 Sebastian Dröge * common: Automatic update of common submodule From ef1ffdc to f2c6b95 2014-12-13 15:13:32 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * tests/validate/geslaunch.py: validate: Start using the new testsuite based API from GstValidate 2014-11-26 00:28:35 +0100 Mathieu Duponchelle * 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 * 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 * 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 * ges/nle/nlecomposition.c: nlecomposition: Minor debug enhancements 2014-11-25 19:13:02 +0100 Thibault Saunier * 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 * ges/ges-pipeline.c: pipeline: Dot not check for chain->tee twice 2014-11-21 19:53:52 +0100 Thibault Saunier * 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 * ges/ges-validate.c: validate: Move to new action type registration API 2014-11-16 20:07:24 +0100 Thibault Saunier * ges/ges-validate.c: validate: Add missing action execution printing 2014-11-16 20:05:25 +0100 Thibault Saunier * ges/ges-timeline-element.c: timeline-element: Properly handle setting name to NULL 2014-11-04 15:38:05 +0100 Thibault Saunier * 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 * 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 * .gitignore: Add some ignore files to .gitignore 2014-11-03 11:59:32 +0100 Thibault Saunier * 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 * 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 * ges/ges-uri-asset.c: uri-asset: Ensure that UriAssets loaded with error are remembered 2014-11-03 11:54:10 +0100 Thibault Saunier * 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 * 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 * 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 * ges/ges-pipeline.c: pipeline: Disable encoding format renegotiation when rendering 2014-12-05 22:19:32 +0100 Mathieu Duponchelle * tests/check/ges/track.c: check/ges/track: add forgotten test file. 2014-11-26 01:08:31 +0100 Mathieu Duponchelle * 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 * 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 * common: Automatic update of common submodule From 7bb2bce to ef1ffdc 2014-11-10 17:24:11 +0100 Thibault Saunier * 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 * 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 * 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 * ges/ges-pipeline.c: pipeline: Do not relink an already linked track 2014-11-02 11:46:37 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tools/ges-launch.c: tools:launch: Properly terminate when we get a SIGINT signal 2014-10-29 13:40:55 +0100 Thibault Saunier * 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 * 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 * tools/ges-validate.c: ges-validate: inform of clip removal. 2014-10-29 13:25:06 +0100 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/nle/nlecomposition.c: nlecomposition: Fix the get_current_position method 2014-09-23 15:01:56 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * gnl/gnlcomposition.c: composition: Commit all values before initializing the pipeline 2014-08-05 15:43:11 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Prevent update sources from being added after seek. 2014-07-31 16:02:06 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: only flush stop after seek was set to READY. 2014-07-29 23:41:45 +0200 Thibault Saunier * 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 * 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 * 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 * gnl/gnlcomposition.c: composition: push flush events on the target. 2014-07-19 11:41:56 +0200 Thibault Saunier * 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 * gnl/gnlcomposition.c: composition: we're initialized even if update_pipeline returned FALSE 2014-07-21 16:57:14 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: reset base time to 0 when needed. 2014-07-21 16:54:46 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Forward flushes on initialization 2014-07-18 04:04:16 +0200 Mathieu Duponchelle * gnl/gnlobject.c: object: make the check for self commit work in a crappy way. 2014-07-18 04:01:25 +0200 Mathieu Duponchelle * 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 * gnl/gnlcomposition.c: composition: set next_eos_seqnum when we get seeked too. Co-Authored by: Thibault Saunier 2014-07-15 15:47:59 +0200 Thibault Saunier * 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 2014-07-15 15:16:23 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Always return a value in GSourceFuncs Co-Authored by: Thibault Saunier 2014-07-15 15:01:59 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Rename _flush_downstream to _have_to_seek_downstrean Co-Authored by: Mathieu Duponchelle 2014-07-15 14:59:54 +0200 Mathieu Duponchelle * 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 2014-07-15 09:46:03 +0200 Thibault Saunier * 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 2014-07-15 02:37:25 +0200 Mathieu Duponchelle * 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 2014-07-14 17:52:36 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Remove locking making sure that we manipulate children in right places Co-Authored by: Mathieu Duponchelle 2014-07-14 17:47:07 +0200 Mathieu Duponchelle * 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 2014-07-14 17:18:23 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: No need to reset the composition when going to PAUSED or NULL Co-Authored by: Mathieu Duponchelle 2014-07-14 17:10:35 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Make sure we have a peer when we send flushes downstream And avoid leaks Co-Authored by: Thibault Saunier 2014-07-14 17:06:05 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Minor cleanups 2014-07-14 16:51:56 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Take the objects lock when reseting the composition Co-Authored by: Mathieu Duponchelle 2014-07-14 16:47:45 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Remove the reset children method as it is all already done in _empty_bin () Co-Authored by: Thibault Saunier 2014-07-14 16:44:43 +0200 Thibault Saunier * 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 2014-07-14 16:41:25 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: No need to children state locked anymore Co-Authored by: Thibault Saunier 2014-07-14 16:30:35 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: cleanup dispose / finalize Co-Authored by: Mathieu Duponchelle 2014-07-14 16:24:46 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: remove children warning drop HACK. Co-Authored by: Thibault Saunier 2014-07-14 16:12:00 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: remove now useless notion of GnlCompositionEntry. Co-Authored by: Mathieu Duponchelle 2014-07-14 15:50:58 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: cleanup GnlCompositionEntry before its actual removal. Co-Authored by: Thibault Saunier 2014-07-14 15:43:04 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: remove now useless prop "deactivated_elements_state". Co-Authored by: Mathieu Duponchelle 2014-07-14 15:40:28 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Remove now useless flag "reset_time". Co-Authored by: Thibault Saunier 2014-07-14 15:37:51 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Remove now useless flag "stackvalid". Co-Authored by: Mathieu Duponchelle 2014-07-14 15:35:47 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: remove now useless "flushing" flag. Co-Authored by: Thibault Saunier 2014-07-14 13:36:31 +0200 Thibault Saunier * 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 2014-07-14 13:35:24 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Add the stack start/stop that has been set in dotfile name Co-Authored by: Thibault Saunier 2014-07-14 13:34:25 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Push flush events *downstream* not 'somewhere' :) Co-Authored by: Mathieu Duponchelle 2014-07-13 16:59:15 +0200 Mathieu Duponchelle * gnl/gnlsource.c: source: Atomically change the probe ID Avoiding races where the probe would be removed 2 times Co-Authored by: Thibault Saunier 2014-07-13 11:51:51 +0200 Thibault Saunier * 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 2014-07-12 20:54:55 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Only sync state of current bin when activating new stack. Co-Authored by: Thibault Saunier 2014-07-11 21:59:43 +0200 Thibault Saunier * 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 2014-07-11 21:58:41 +0200 Mathieu Duponchelle * tests/check/gnl/gnlcomposition.c: composition: add a new failing test for finalize on commit. Co-Authored by: Thibault Saunier 2014-07-11 19:13:29 +0200 Thibault Saunier * 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 2014-07-11 18:29:17 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Avoid emitting COMMITED like crazy Co-Authored by: Thibault Saunier 2014-07-11 18:27:25 +0200 Thibault Saunier * 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 2014-07-11 17:48:05 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: We are now waiting for caps to restart our task Co-Authored by: Thibault Saunier 2014-07-11 17:31:34 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Remove useless functions to add GSources and add debugging Co-Authored by: Mathieu Duponchelle 2014-07-11 17:25:44 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Remove DONE fixme Co-Authored by: Thibault Saunier 2014-07-11 17:23:29 +0200 Thibault Saunier * 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 2014-07-11 17:22:24 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Keep our GSources in a list making their thread safe Co-Authored by: Thibault Saunier 2014-07-11 16:08:20 +0200 Thibault Saunier * 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 2014-07-11 15:41:50 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: only forward our flush start / stops Co-Authored by: Thibault Saunier 2014-07-11 14:18:58 +0200 Thibault Saunier * gnl/gnlghostpad.c: ghostpad: remove useless debug Co-Authored by: Mathieu Duponchelle 2014-07-11 14:17:36 +0200 Mathieu Duponchelle * 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 2014-07-11 14:11:21 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: do not flush downstream when updating pipeline ourselves. Co-Authored by: Mathieu Duponchelle 2014-07-11 12:20:53 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Set update to TRUE when updating the stack because of EOS Co-Authored by: Thibault Saunier 2014-07-10 18:01:32 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Handle seeking current stack while PAUSED Co-Authored by: Mathieu Duponchelle 2014-07-10 16:26:48 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Add and enhance some debug Co-Authored by: Thibault Saunier 2014-07-10 16:21:31 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Dot the newly created stacks Co-Authored by: Mathieu Duponchelle 2014-07-10 16:17:20 +0200 Mathieu Duponchelle * gnl/gnlghostpad.c: gnlghostpad: Add some more debugging and fix mistakes in seqnum handling Co-Authored by: Thibault Saunier 2014-07-10 15:48:50 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Factor out a function to seek the current stack Co-Authored by: Mathieu Duponchelle 2014-07-10 15:46:19 +0200 Mathieu Duponchelle * 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 2014-07-10 15:45:19 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Set the real_eos_seqnum in a dedicated method Co-Authored by: Mathieu Duponchelle 2014-07-10 15:43:26 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Reset the real_eos_seqnum when reseting the composition Co-Authored by: Thibault Saunier 2014-07-10 15:42:48 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Release OBJECTS_LOCK when emiting the "commited" Co-Authored by: Mathieu Duponchelle 2014-07-10 15:33:23 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Use the private struct directly Co-Authored by: Thibault Saunier 2014-07-09 12:51:36 +0200 Thibault Saunier * 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 2014-07-08 23:25:09 +0200 Mathieu Duponchelle * gnl/gnlghostpad.c: gnlghostpad: Do not forget to set output segment seqnum Co-Authored by: Thibault Saunier 2014-07-08 23:00:29 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Fix the build Co-Authored by: Mathieu Duponchelle 2014-07-08 22:59:11 +0200 Mathieu Duponchelle * tests/check/gnl/seek.c: tests:composition: Fix some refcounts Co-Authored by: Thibault Saunier 2014-07-08 22:58:02 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Relink nodes *after* setting the seqnum Co-Authored by: Mathieu Duponchelle 2014-07-08 22:57:22 +0200 Mathieu Duponchelle * 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 2014-07-08 22:55:15 +0200 Thibault Saunier * gnl/gnlghostpad.c: gnlghostpad: Add missing seqnum tweaking Co-Authored by: Mathieu Duponchelle 2014-07-08 22:54:31 +0200 Mathieu Duponchelle * tests/check/gnl/gnloperation.c: tests: Use compositor instead of videomixer Co-Authored by: Thibault Saunier 2014-07-08 22:53:57 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Handle the case were we get an EOS right after a segment Co-Authored by: Mathieu Duponchelle 2014-07-08 13:28:57 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Make basic seeking working Co-Authored by: Thibault Saunier 2014-07-07 23:28:43 +0200 Thibault Saunier * tests/check/gnl/gnloperation.c: tests: Start fixing operation tests Co-Authored by: Mathieu Duponchelle 2014-07-07 23:24:46 +0200 Mathieu Duponchelle * 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 2014-07-07 23:07:15 +0200 Thibault Saunier * 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 2014-07-07 23:08:56 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Do not forget to set expandables state to NULL when disposing Co-Authored by: Thibault Saunier 2014-07-07 23:01:24 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Factor out a function to commit only the values Co-Authored by: Mathieu Duponchelle 2014-07-07 22:58:27 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Get the current position before actually commiting values on commit Co-Authored by: Thibault Saunier 2014-07-07 22:54:25 +0200 Thibault Saunier * 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 2014-07-07 22:50:34 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Remove useless code Co-Authored by: Thibault Saunier 2014-07-07 22:33:09 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Clear the old stack when removing children that where used Co-Authored by: Mathieu Duponchelle 2014-07-07 22:27:21 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Remove useless toplevel_seek argiment from activate_new_stack Co-Authored by: Thibault Saunier 2014-07-07 22:25:51 +0200 Thibault Saunier * 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 2014-07-07 21:31:01 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Add/Remove children in the same order as they were called Co-Authored by: Thibault Saunier 2014-07-07 21:28:28 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Remove useless flush_start argument from the stop_task method Co-Authored by: Mathieu Duponchelle 2014-07-06 15:46:22 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Force setting children state to NULL rebfore unrefing them Co-Authored by: Thibault Saunier 2014-07-04 11:05:41 +0200 Thibault Saunier * 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 2014-07-04 11:11:53 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Actiually set current_bin state even when not debugging Co-Authored by: Thibault Saunier 2014-07-03 17:42:06 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Set *all* children state when going back to READY and then NULL Co-Authored by: Mathieu Duponchelle 2014-07-03 17:36:01 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: * gnl/gnlghostpad.c: * tests/check/gnl/gnlcomposition.c: composition: Fix toplevel seek event refcounting Co-Authored by: Thibault Saunier 2014-07-03 16:46:21 +0200 Thibault Saunier * gnl/gnlcomposition.c: * tests/check/gnl/complex.c: composition: Teach the composition to seek same stack Co-Authored by: Thibault Saunier 2014-07-03 16:44:05 +0200 Thibault Saunier * 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 2014-07-03 16:41:42 +0200 Mathieu Duponchelle * 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 2014-07-03 14:48:25 +0200 Thibault Saunier * 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 2014-07-03 14:34:11 +0200 Mathieu Duponchelle * tests/check/gnl/common.c: * tests/check/gnl/simple.c: tests: Minor cleanup Co-Authored by: Thibault Saunier 2014-07-03 14:32:44 +0200 Thibault Saunier * gnl/gnlobject.c: gnlobject: Allow commiting of object that are not inside a composition Co-Authored by: Mathieu Duponchelle 2014-07-03 14:32:18 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: Empty current_bin on gnl_composition_reset Co-Authored by: Thibault Saunier 2014-07-03 14:31:35 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Remove now useless external_gst_bin_add_remove field Co-Authored by: Mathieu Duponchelle 2014-07-03 11:36:20 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: * gnl/gnlsource.c: composition: Remove now useless pad probes Co-Authored by: Thibault Saunier 2014-07-02 21:01:31 +0200 Thibault Saunier * 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 2014-07-02 17:33:35 +0200 Thibault Saunier * 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 * gnl/gnlcomposition.c: composition: Start implementing seeking in a GSource 2014-06-30 16:21:30 +0200 Thibault Saunier * 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 * gnl/gnlcomposition.c: composition: chain up finalize before clering mcontext_lock. 2014-06-30 15:12:38 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Initialize the first stack async 2014-06-29 22:35:34 +0200 Thibault Saunier * 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 * tests/check/gnl/common.c: tests/common: disconnect commited handler 2014-06-27 16:12:12 +0200 Mathieu Duponchelle * 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 * gnl/gnlcomposition.c: composition: start and stop task in init and finalize 2014-06-27 17:01:34 +0200 Mathieu Duponchelle * tests/check/gnl/gnlcomposition.c: tests: unref message correctly 2014-06-27 16:40:19 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: * gnl/gnlcomposition.h: composition: home grown task 2014-06-27 16:12:28 +0200 Mathieu Duponchelle * tests/check/gnl/gnlcomposition.c: Don't be sync silly test 2014-06-27 15:00:48 +0200 Mathieu Duponchelle * gnl/gnlcomposition.c: composition: simplify update_pipeline_func 2014-06-27 16:26:09 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Reset the srcpad target when removing the toplevelentry 2014-06-27 12:15:10 +0200 Thibault Saunier * 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 * gnl/gnlcomposition.c: gnlcomposition: Factor out code to deactivate old stack and activate new one 2014-06-26 19:00:03 +0200 Thibault Saunier * gnl/gnlcomposition.c: composition: Avoid looping using gotos 2014-06-26 18:41:48 +0200 Thibault Saunier * 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 * gnl/gnlcomposition.c: gnlcomposition: factor out some functions 2014-06-25 19:18:29 +0200 Thibault Saunier * gnl/gnlcomposition.c: gnlcomposition: Factor out the condition of _parent_or_priority_changed 2014-06-25 19:17:55 +0200 Thibault Saunier * gnl/gnlcomposition.c: gnlcomposition: Add a function to block object source pad 2014-06-24 13:44:13 +0200 Mathieu Duponchelle * 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 * 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 * gnl/gnlsource.c: * gnl/gnlsource.h: gnlsource: remove useless "controls_one" field. 2014-10-21 10:35:48 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline.c: timeline: handle async start 2014-10-23 21:46:04 +0200 Mathieu Duponchelle * 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 * 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 * 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 * common: Automatic update of common submodule From 84d06cd to 7bb2bce 2014-10-26 20:36:22 +0000 Tim-Philipp Müller * ges/ges-track.c: track: fix indentation 2014-10-26 20:35:30 +0000 Tim-Philipp Müller * ges/ges-timeline-element.c: timeline-element: don't leak name string 2014-10-26 20:34:29 +0000 Tim-Philipp Müller * ges/ges-timeline.c: timeline: fix mutex and all_elements hash table leaks 2014-10-26 20:33:50 +0000 Tim-Philipp Müller * 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 * ges/ges-timeline.c: timeline: free track elements list 2014-10-26 20:31:40 +0000 Tim-Philipp Müller * ges/ges-video-test-source.c: video-test-source: fix caps leak 2014-10-26 20:31:26 +0000 Tim-Philipp Müller * ges/gstframepositionner.c: framepositionner: fix caps leak 2014-10-26 20:31:08 +0000 Tim-Philipp Müller * ges/ges-audio-track.c: audiotrack: fix caps leak 2014-10-26 20:30:53 +0000 Tim-Philipp Müller * ges/ges-video-track.c: videotrack: fix caps leak 2014-10-26 20:30:29 +0000 Tim-Philipp Müller * ges/ges-track.c: track: don't leak restriction caps 2014-10-26 20:29:06 +0000 Tim-Philipp Müller * 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 * 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 * ges/ges-project.c: project: fix string leak 2014-10-26 20:25:46 +0000 Tim-Philipp Müller * ges/ges-meta-container.c: metacontainer: don't leak GValue contents 2014-10-26 20:24:09 +0000 Tim-Philipp Müller * 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 * Makefile.am: Parallelise 'make check-valgrind' 2014-10-22 14:15:11 +0200 Mathieu Duponchelle * tools/ges-validate.c: ges-validate: issues naming have changed. Update the override. 2014-10-21 13:04:26 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From a8c8939 to 84d06cd 2014-10-21 13:01:04 +0200 Stefan Sauer * common: Automatic update of common submodule From 36388a1 to a8c8939 2014-10-20 13:37:25 +0200 Thibault Saunier * configure.ac: Back to development === release 1.4.0 === 2014-10-20 11:56:36 +0200 Thibault Saunier * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.4.0 2014-10-16 14:18:16 +0200 Thibault Saunier * 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 * 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 * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 1.3.90 2014-09-13 16:16:15 +0100 Tim-Philipp Müller * 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 * 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 * 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 * tools/ges-validate.c: validate: gst_validate_print_action_types now takes a const gchar ** 2014-09-05 23:08:41 +0200 Thibault Saunier * 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 * tools/ges-launch.c: ges-launch: Fix typo in --help output 2014-09-05 22:08:49 +0300 Sebastian Dröge * 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 * 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 * 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 * 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 * tools/ges-validate.c: ges-validate: Let GstValidate handle assert logs 2014-07-27 15:42:42 +0200 Thibault Saunier * 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 * 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 * ges/ges-text-overlay.c: text-overlay: added text properties as child-properties 2014-06-16 11:38:29 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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ț * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From 211fa5f to 1f5d3c3 2014-05-19 12:21:52 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-xml-formatter.c: ges-xml-formatter: fix memory leak COVERTY CID 1212148 2014-05-10 22:41:23 +0200 Thibault Saunier * 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 * 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 * ges/ges-timeline.c: ges: Remove useless pointer assignement COVERITY CID: 1139442 2014-05-10 22:30:00 +0200 Thibault Saunier * ges/ges-meta-container.c: ges: Remove useless pointer assignement COVERITY CID: 1139941 2014-05-10 22:28:01 +0200 Thibault Saunier * ges/ges-meta-container.c: ges: Add license header in ges-meta-container 2014-05-10 22:09:31 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * tools/ges-launch.c: ges-launch: add an option to use a custom video sink 2014-05-08 01:38:26 +0200 Mathieu Duponchelle * 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 * tools/ges-validate.c: scenarios: Check priority before creating a layer. 2014-05-06 15:32:18 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * tools/ges-validate.c: validate: Add add-layer and remove-layer 2014-05-08 01:13:02 +0200 Mathieu Duponchelle * tools/ges-validate.c: scenarios: add a remove-asset action 2014-05-01 17:02:05 +0200 Mathieu Duponchelle * 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 * tools/ges-launch.c: ges-launch: When a scenario is set, don't request triplets 2014-05-01 16:59:15 +0200 Mathieu Duponchelle * 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 * 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 * common: Automatic update of common submodule From bcb1518 to 211fa5f 2014-05-01 10:13:39 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/Makefile.am: build: Add reference to GstVideo in gir file 2014-03-26 23:48:45 +0100 Lubosz Sarnecki * ges/ges-types.h: multifilesrc: remove unused class declaration 2014-03-26 23:47:03 +0100 Lubosz Sarnecki * ges/Makefile.am: build: install ges-version.h 2014-03-26 11:45:07 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 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 * configure.ac: Back to development === release 1.2.0 === 2014-03-16 12:46:26 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From fe1672e to bcb1518 2014-02-26 04:36:11 +0100 Alexandru Băluț * 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ț * 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ț * ges/ges-asset.c: * ges/ges-extractable.c: Minor documentation fixes: GESExtractable, GESAsset 2014-02-26 22:16:13 +0100 Stefan Sauer * common: Automatic update of common submodule From 1a07da9 to fe1672e 2014-02-18 12:40:06 +0100 Thibault Saunier * docs/libs/ges-sections.txt: docs: Fix documentation about copying timeline elements 2014-02-17 13:33:51 +0100 Thibault Saunier * 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 * 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 * 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 * ges/ges-meta-container.c: * ges/ges-pitivi-formatter.c: ges: Remove unused functions 2014-02-08 20:19:53 +0100 Sebastian Dröge * 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 * 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 * ges/ges-enums.h: ges: Some documentation cleanup 2014-02-04 13:58:48 +0100 Thibault Saunier * 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ț * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From d48bed3 to 1a07da9 2014-01-09 18:13:00 +0100 Mathieu Duponchelle * ges/ges-track-element.c: track-element: clamp interpolated keyframe values. 2014-01-10 00:05:01 +0000 Tim-Philipp Müller * .gitignore: .gitignore: add test driver and more test binaries 2013-12-27 10:08:47 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * autogen.sh: * common: Automatic update of common submodule From dbedaa0 to d48bed3 2013-11-28 15:13:06 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 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 * 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 * 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 * tools/ges-launch.c: ges-launch: Let user set the track types to use 2013-11-09 09:55:39 -0300 Thibault Saunier * bindings/python/examples/material.py: python: Remove old material.py example 2013-11-09 09:51:55 -0300 Thibault Saunier * tools/ges-launch.c: ges-launch: Dot the pipeline on state changes and warnings 2013-11-09 09:49:03 -0300 Thibault Saunier * 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 * 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 * bindings/python/examples/simple.py: bindings: Cleanup and fix simple python example 2013-11-05 11:23:08 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 865aa20 to dbedaa0 2013-10-17 15:16:00 +0200 Kishore Arepalli * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-formatter.c: formatter: Try to use best formatter first 2013-10-09 20:07:14 -0300 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: pass the correct argument to disconnect_by_func. fixes #709205 2013-09-28 21:07:10 +0200 Thibault Saunier * configure.ac: Back to development === release 1.1.90 === 2013-09-28 20:49:13 +0200 Thibault Saunier * ChangeLog: * configure.ac: Release 1.1.90 2013-09-28 18:09:49 +0200 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Add a signal to know when it is commited 2013-09-27 02:56:44 +0200 MathieuDuponchelle * ges/ges-clip.c: clip: split_bindings at position * + inpoint* 2013-09-25 23:52:46 +0200 MathieuDuponchelle * ges/ges-video-track.c: video-track: update gaps framerate along with restriction caps. 2013-09-25 19:48:45 +0200 MathieuDuponchelle * 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 * 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 * common: Automatic update of common submodule From 6b03ba7 to 865aa20 2013-09-22 21:56:14 +0200 Thibault Saunier * 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 * ges/ges-pipeline.c: pipeline: Let some queuing in encodebin It is sometimes necessary 2013-09-16 11:19:13 -0300 Thibault Saunier * 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 * 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 * common: Automatic update of common submodule From b613661 to 6b03ba7 2013-09-19 18:46:26 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 74a6857 to b613661 2013-09-19 17:39:44 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 12af105 to 74a6857 2013-09-14 04:19:57 +0200 Joris Valette * tests/check/ges/timelineedition.c: tests: timelineedition: cast start and duration values as guint64 2013-09-13 20:38:43 -0300 Thibault Saunier * tools/ges-launch.c: ges-launch: Handle path for project uri 2013-09-13 20:37:58 -0300 Thibault Saunier * ges/ges-xml-formatter.c: formatter: Keep timeline duration as a meta 2013-09-12 18:34:55 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * tests/check/ges/timelineedition.c: tests: timelineedition: Minor cleanups 2013-09-08 19:19:24 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-video-transition.c: videotransition: No need to hard set width and height anymore. 2013-08-21 11:32:45 +0200 Simon Corsin * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-clip.c: ges-clip: when a child, is removed, disconnect from its notifies. 2013-08-27 19:12:26 -0400 Thibault Saunier * 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 * tests/check/Makefile.am: tests: Let use 20 sec to execute tests 2013-08-26 23:31:14 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * tests/check/ges/integration.c: integration: Add titles test 2013-08-26 17:41:14 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-container.c: container: resort children after prepending an element. 2013-08-12 16:13:40 +0200 Mathieu Duponchelle * ges/ges-timeline.c: timeline: when there are no objects anymore, set duration to 0. 2013-08-12 15:01:53 +0200 Mathieu Duponchelle * 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 * 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 * 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 * tests/check/ges/integration.c: integration: make test_basic be two concatenated clips. 2013-08-20 08:22:24 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * tests/check/ges/integration.c: tests: integration: PNG file was renamed to png.png 2013-08-04 17:46:33 +0200 Thibault Saunier * 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 * 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 * 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 * tests/check/ges/integration.c: tests: check: All assets moved to assets/ 2013-08-03 17:01:22 +0200 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Add support for group-id in the stream-start event 2013-08-01 18:14:36 +0200 Thibault Saunier * tests/check/ges/integration.c: Fix compilation 2013-08-01 17:56:16 +0200 Thibault Saunier * tests/check/ges/integration.c: tests: integration: Avoid leak 2013-08-01 17:47:50 +0200 Thibault Saunier * tests/check/ges/integration.c: tests: integration: Do not forget to set encoding profiles 2013-07-18 23:09:51 +0200 Vasilis Liaskovitis * 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 * tests/check/ges/integration.c: tests/integration: display test name when running it. 2013-08-01 11:32:44 +0200 Mathieu Duponchelle * 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 * 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 * tests/check/ges/integration.c: integration: add paused pipeline seek tests 2013-07-16 19:42:53 +0200 Mathieu Duponchelle * tests/check/ges/integration.c: tests/integration: adds image_filename in the test generation macro 2013-07-27 10:18:30 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tests/check/ges/integration.c: tests: integration: Add video/audio only basic tests 2013-07-17 20:54:20 -0400 Thibault Saunier * 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 * tests/check/ges/integration.c: tests: intergration: Add some more encoding profiles 2013-07-17 16:09:29 -0400 Thibault Saunier * 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 * 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 * tests/check/ges/integration.c: tests: integration: Refactor and make easier to add encoding profiles 2013-07-17 12:31:02 -0400 Thibault Saunier * 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 * 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 * tests/check/ges/integration.c: tests: Remove prints And use GST_DEBUG and friends instead 2013-07-14 14:03:46 +0200 Vasilis Liaskovitis * 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 * 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 * 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 * tests/check/ges/integration.c: tests: Simplifie integration tests using macros all around 2013-04-26 00:03:21 +0200 Mathieu Duponchelle * 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 * 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 * 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 * ges/gstframepositionner.c: framepositionner: fix messup with propname enum. 2013-06-26 23:23:59 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-xml-formatter.c: xml-formatter: Indent formatted files 2013-07-03 18:33:05 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-base-xml-formatter.c: base-xml-formatter: s/ducation/duration/ 2013-06-28 12:56:17 -0400 Thibault Saunier * ges/ges-container.c: container: ges_container_ungroup return a transfer full list 2013-06-28 11:23:27 -0400 Thibault Saunier * 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 * 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 * ges/ges-effect-asset.c: * ges/ges-gerror.h: docs: Misc documentation fixes 2013-06-25 18:37:48 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: timelinepipeline: fix caps leak 2013-06-26 12:57:17 +0000 Руслан Ижбулатов * 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 * 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 * 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 * tests/check/ges/mixers.c: tests: Add a audio/video mixing test. 2013-05-30 06:04:47 +0200 Mathieu Duponchelle * ges/ges-video-track.c: video-track: "implement" get_mixing_element. 2013-05-29 18:48:42 +0200 Mathieu Duponchelle * 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 * ges/ges-layer.c: ges-layer.c: notify priority changes. 2013-05-16 09:40:22 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-clip.c: * ges/ges-custom-source-clip.c: ges: Misc documentation fixes 2013-03-30 19:02:52 +0100 Thibault Saunier * ges/ges-track.c: * ges/ges-track.h: track: Implement infrastructure for mixing 2013-03-30 19:01:26 +0100 Thibault Saunier * 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 * 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 * tests/check/ges/effects.c: tests:effects: Make use of normal layers, and enhance tests 2013-03-29 18:56:31 +0100 Thibault Saunier * ges/ges-layer.c: layer: Fix some mix up in variable names 2013-03-29 18:55:27 +0100 Thibault Saunier * ges/ges-layer.c: layer: Simplify a bit how we handle priorities 2013-03-29 18:53:25 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * tools/ges-launch.c: ges-launch: Properly add UriClipAssets to the project 2013-06-09 12:29:05 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From 098c0d7 to 01a7a46 2013-05-30 11:40:36 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * ges/ges-track.c: track: Update gaps when we set the timeline 2013-05-28 08:51:08 +0200 Sebastian Dröge * 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 * 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 * common: Automatic update of common submodule From 5edcd85 to 098c0d7 2013-03-05 17:09:18 -0500 Nicolas Dufresne * .gitignore: Update gitignore 2013-03-05 17:07:29 -0500 Nicolas Dufresne * 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 * ges/ges-clip.c: clip: Avoid corruption of our list of children while ungrouping 2013-04-24 15:25:20 +0300 Anton Belka * 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 * tests/check/ges/layer.c: tests: add timeline auto-transition test 2013-04-24 15:18:01 +0300 Anton Belka * 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 * ges/ges-base-xml-formatter.c: basexmlformatter: Do not allow empty file loading 2013-04-27 03:45:29 -0300 Thibault Saunier * 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 * ges/ges-audio-transition.c: audiotransition: Add a resampler in the audio transition bin 2013-04-21 19:21:14 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From 3cb3d3c to 5edcd85 2013-04-22 09:41:26 -0300 Thibault Saunier * ges/ges-xml-formatter.c: Fix compilation 2013-04-21 21:29:29 -0300 Thibault Saunier * ges/ges-xml-formatter.c: xml-formatter: Use G_GUINT64_FORMAT where needed 2013-04-21 21:13:00 -0300 Thibault Saunier * 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 * ges/ges-timeline.c: * ges/ges-xml-formatter.c: ges: Fix compilation with clang 2013-04-19 19:58:21 -0300 Thibault Saunier * 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 * tests/check/ges/clip.c: tests: Check splitting a clip with several TrackElement 2013-04-18 21:45:18 -0300 Thibault Saunier * 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 * ges/ges-timeline-pipeline.c: ges: Fix compilation 2013-04-18 18:37:17 -0300 Thibault Saunier * ges/ges-timeline-pipeline.c: pipeline: Add API guards where needed 2013-04-17 16:51:30 -0300 Thibault Saunier * 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 * ges/ges-timeline-pipeline.c: pipeline: Return FALSE in save_thumbnail when the operation fails 2013-04-15 01:30:10 +0200 Mathieu Duponchelle * tests/check/ges/timelineedition.c: tests:timelineedition: Add a simple trimming test 2013-04-14 23:19:02 -0300 Thibault Saunier * ges/ges-container.c: container: The TimelineElement.inpoint property is call "in-point" not inpoint 2013-03-22 19:44:28 -0300 Thibault Saunier * 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 * 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 * ges/ges-pitivi-formatter.c: pitivi-formatter: Remove saving code 2013-04-14 17:58:38 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From aed87ae to 3cb3d3c 2013-04-09 21:03:03 +0200 Stefan Sauer * common: Automatic update of common submodule From 04c7a1e to aed87ae 2013-04-09 00:02:14 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: pipeline: Implement the video overlay interface 2013-03-30 13:37:43 +0100 Thibault Saunier * 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 * ges/ges-timeline-pipeline.c: timeline-pipeline: Enhance API guards 2013-03-30 13:34:36 +0100 Thibault Saunier * ges/ges-timeline.c: timeline: Do no unref the timeline before returning it 2013-03-30 12:30:47 +0100 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Comment some variables goals 2013-03-28 19:00:25 +0100 Thibault Saunier * tests/check/ges/effects.c: tests:effect: Do not re-add effect to the track 2013-03-24 18:42:55 +0100 Thibault Saunier * 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 * 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 * tests/check/ges/basic.c: test:basic: Do not add useless references, and minor improvements 2013-03-23 08:45:00 +0100 Thibault Saunier * ges/ges-clip.c: clip: Emit notify signal when setting Clip.layer 2013-03-23 08:14:55 +0100 Thibault Saunier * 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 * 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 * 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 * ges/ges-container.c: container: Stop ignoring notifies if ->add_child fails 2013-03-23 01:33:39 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-track.c: * ges/ges-track.h: track: Cleanup header and add a FIXME 2013-03-15 00:01:47 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-track.c: track: Do not remove a TrackElement from a NULL clip 2013-03-01 20:25:17 -0300 Thibault Saunier * 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 * ges/ges-timeline-element.c: timeline-element: Make it possible to reset parent to NULL 2013-03-01 19:18:10 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * .gitignore: gitignore: Ignore *.page 2013-03-14 16:09:37 -0300 Thibault Saunier * 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 * common: Automatic update of common submodule From 2de221c to 04c7a1e 2013-03-06 10:27:15 +0400 Руслан Ижбулатов * ges/ges-timeline-element.c: ges-timeline-element: Fix GST_DEBUG_OBJECT invocations Fixes #695267 2013-02-14 23:34:48 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-pitivi-formatter.c: pitiviformatter: Fix renaming issues 2013-01-27 16:02:19 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * docs/libs/architecture.xml: docs: Clarify the distinction between Tracks and Layers 2013-01-30 20:12:26 -0300 Thibault Saunier * 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 * 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 * common: Automatic update of common submodule From a942293 to 2de221c 2013-01-22 18:44:00 -0300 Thibault Saunier * 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 * 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 * 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 * common: Automatic update of common submodule From a72faea to a942293 2013-01-14 09:01:24 -0300 Thibault Saunier * configure.ac: Bump GStreamer dependency version to current master (1.1.0) 2013-01-12 20:49:31 -0300 Thibault Saunier * ges/ges-pitivi-formatter.c: pitiviformatter: Handle project metadatas 2013-01-12 10:50:24 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline-object.h: * ges/ges-timeline.h: ges: Documentations fixes 2013-01-10 18:50:54 -0300 Thibault Saunier * 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 * ges/ges-track-object.c: trackobject: Make the GESTrack (parent track) a GObject property 2013-01-10 18:01:33 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Minor refactoring 2013-01-10 13:32:15 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Avoid recreating the moving_tlobjs when unecessary 2013-01-10 12:41:13 -0300 Thibault Saunier * 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 * 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 * ges/ges-timeline-layer.c: layer: Properly emit the notify signal when auto_transition changes 2013-01-10 11:39:46 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Track TrackObject-s by layer 2013-01-10 11:18:46 -0300 Thibault Saunier * tests/check/ges/test-utils.h: tests: Add a macro for type checking 2013-01-10 11:15:32 -0300 Thibault Saunier * 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 * .gitignore: gitignore: Ignore anjuta files 2013-01-05 12:02:03 -0300 Thibault Saunier * configure.ac: * tests/Makefile.am: * tests/benchmarks/Makefile.am: * tests/benchmarks/timeline.c: Benchmark rippling 2013-01-04 13:11:51 -0300 Thibault Saunier * 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 * ges/ges-asset-track-object.c: asset-track-object: Minor doc fixing 2013-01-03 11:43:05 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Remove dead macros 2013-01-03 11:41:48 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Use g_sequence_sort_changed when appropriate 2013-01-03 10:34:17 -0300 Thibault Saunier * 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 * ges/ges-formatter.c: formatter: Plug some leaks 2012-12-29 19:36:07 -0300 Thibault Saunier * tests/check/ges/project.c: test: project: Fix various leaks 2012-12-29 19:34:29 -0300 Thibault Saunier * ges/ges-base-xml-formatter.c: * ges/ges-xml-formatter.c: xmlformatter: Plug various leaks 2012-12-29 18:24:05 -0300 Thibault Saunier * 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 * ges/ges-project.c: project: Plug various leaks. 2012-12-29 18:02:35 -0300 Thibault Saunier * ges/ges-meta-container.c: meta-container: Plug various leaks 2012-12-29 17:58:02 -0300 Thibault Saunier * ges/ges-asset.c: asset: Do not allow proxying over the same currently proxied asset 2012-12-29 17:54:51 -0300 Thibault Saunier * ges/ges-asset.c: asset: Fix some leaks 2012-12-29 17:52:42 -0300 Thibault Saunier * 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 * ges/ges-asset-file-source.c: assetfilesource: Fix some leaks 2012-12-29 14:09:26 -0300 Thibault Saunier * tests/examples/concatenate.c: tests: Remove useless mutex 2012-12-29 14:08:58 -0300 Thibault Saunier * .gitignore: Add some more gitignore 2012-12-28 19:10:17 -0300 Thibault Saunier * ges/ges-pitivi-formatter.c: * ges/ges-xml-formatter.c: Refrase formatters descriptions 2012-12-28 19:06:30 -0300 Thibault Saunier * ges/ges-formatter.c: formatter: First check the extension when checking if can load URI 2012-12-28 11:40:33 -0300 Thibault Saunier * 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 * 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 * docs/libs/Makefile.am: * ges/Makefile.am: * tests/check/Makefile.am: Allow checking code coverage 2012-12-21 20:17:41 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: timelinepipeline: Properly reset #GESTrack caps when switching back to playback 2012-12-20 11:28:39 -0300 Thibault Saunier * 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 * .gitignore: Add some ignored files 2012-12-20 10:17:24 -0300 Thibault Saunier * 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 * 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 * 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 * ges/ges-timeline-layer.c: timeline-layer: Handle project when adding a GESTimelineObject directly 2012-11-29 17:07:24 -0300 Thibault Saunier * 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 * ges/ges-timeline-object.h: timeline-object: Reindent header file 2012-11-27 13:53:22 -0300 Thibault Saunier * ges/ges-timeline-file-source.c: * ges/ges.c: docs: Minor documentation fixes 2012-11-27 13:52:59 -0300 Thibault Saunier * ges/ges-internal.h: internale: Add the G_GNUC_INTERNAL attribute to all internal methods 2012-09-09 21:25:54 -0300 Volodymyr Rudyi * tests/check/ges/asset.c: tests: Add testcase for GESAsset 2012-11-27 13:52:20 -0300 Thibault Saunier * 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 * ges/ges.c: ges: Make sure not to initialize twice 2012-11-27 12:18:27 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: pipeline: Minor documentation fixes 2012-11-18 12:46:05 -0300 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Implement the GESMetaContainerInterface 2012-09-23 02:11:46 +0200 Thibault Saunier * ges/ges-timeline.c: timeline: Implement the GESExtractable interface 2012-11-11 13:51:45 -0300 Thibault Saunier * 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 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 * 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 * 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 * tests/examples/test1.c: Examples: Use GESTimelineTestSource instead of GESCustomTimelineSource in test1 2012-09-02 15:14:27 +0300 Thibault Saunier * 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 2012-11-21 10:22:41 -0300 Thibault Saunier * ges/ges-track.c: track: Implement the GESMetaContainer interface 2012-11-20 18:25:31 -0300 Thibault Saunier * ges/ges-track-object.c: trackobject: Implement the GESMetaContainerInterface 2012-11-20 00:29:23 -0300 Thibault Saunier * ges/ges-timeline-object.c: timeline-object: Implement the GESMetadataContainer interface 2012-11-19 23:42:47 -0300 Thibault Saunier * 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 * ges/ges-timeline-test-source.c: docs: Update GESTimelineTestSource documentation 2012-09-18 14:42:58 +0200 Thibault Saunier * 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 * bindings/python/examples/material.py: * bindings/python/examples/simple.py: bindings: Add simple python examples 2012-09-14 01:05:45 +0200 Thibault Saunier * 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 * tests/examples/concatenate.c: example: Port the concatenate example to assets 2012-09-09 21:26:15 -0300 Volodymyr Rudyi * tests/examples/Makefile.am: * tests/examples/assets.c: examples: Add basic examples of asset 2012-12-17 17:05:56 -0300 Thibault Saunier * 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 * ges/ges-timeline-file-source.c: timelinefilesource: Override default GESExtractable interface implementation 2012-09-09 21:20:46 -0300 Thibault Saunier * ges/ges-timeline-object.c: * ges/ges-timeline-object.h: timelineobject: Implement the GESExtractable interface 2012-09-09 21:15:17 -0300 Volodymyr Rudyi * 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 2012-09-09 21:12:06 -0300 Thibault Saunier * 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 2012-08-31 19:36:37 -0700 Volodymyr Rudyi * 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 2012-12-17 15:27:52 -0300 Thibault Saunier * docs/design/asset.txt: design: Add asset design document Co-Authored-By: Volodymyr Rudyi 2012-08-10 12:58:13 -0400 Thibault Saunier * 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 * .gitignore: gitignore: Ignore some more files 2012-12-17 15:17:50 -0300 Thibault Saunier * tests/check/ges/layer.c: tests: implement GESMetaContainer tests Co-Authored-By: Paul Lange 2012-12-17 15:24:52 -0300 Paul Lange * ges/ges-timeline-layer.c: timeline-layer: implement the GESMetaContainer interface 2012-12-17 15:23:39 -0300 Thibault Saunier * 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 * 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 * docs/design/metadata.txt: docs: Added metadata design doc 2012-11-23 11:44:08 -0300 Thibault Saunier * ges/ges-timeline-layer.c: timeline-layer: Fix track-added Callback parametters 2012-12-01 13:56:37 -0300 Thibault Saunier * tests/check/ges/test-utils.h: test-utils: Add some more utilities 2012-11-18 20:23:13 -0300 Thibault Saunier * tests/check/ges/test-utils.c: Minor fixes to the test utils 2012-12-01 13:51:33 -0300 Thibault Saunier * ges/ges-timeline-object.c: timeline-object: Edit can only work work with GESTrackSource 2012-11-23 23:52:32 -0300 Thibault Saunier * 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 * 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 * ges/ges-pitivi-formatter.c: pitiviformatter: Some minor restrtucturation 2012-12-01 13:53:06 -0300 Thibault Saunier * ges/ges-track.c: track: Force video/x-raw in raw gaps 2012-12-17 12:27:54 -0300 Thibault Saunier * 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 * 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 * 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 * ges/ges-track-object.c: trackobject: Some GI annotation fix 2012-11-25 16:11:17 -0300 Thibault Saunier * docs/Makefile.am: docs: Add make upload 2012-11-19 11:31:33 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 6bb6951 to a72faea 2012-11-17 00:10:20 +0000 Tim-Philipp Müller * ges/ges-track-effect.c: ges-track-effect: don't use deprecated API 2012-11-04 00:25:20 +0000 Tim-Philipp Müller * 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 * 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 * ges/ges-timeline-pipeline.c: timeline: Added timeline and mode as properties 2011-11-11 17:29:20 +0100 Xabier Rodriguez Calvar * 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 * 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 * common: Automatic update of common submodule From 6c0b52c to 6bb6951 2012-09-25 15:07:17 +0200 Thibault Saunier * ges/ges.h: ges: Update reported version to 1.0 2012-07-20 14:11:56 +0300 Volodymyr Rudyi * ges/ges-timeline-pipeline.c: * ges/ges-timeline-pipeline.h: timeline: Added 'const' modifier 2012-09-09 21:27:08 -0300 Thibault Saunier * ges/ges-timeline-title-source.c: titlesource: Use GST_DEBUG_OBJECT when appropriate 2012-09-22 18:51:46 +0200 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-pitivi-formatter.c: pitiviformatter: Implement can_load_uri vmethod 2012-09-23 02:06:44 +0200 Thibault Saunier * ges/ges-formatter.c: formatter: Implement a usefull version of ges_formatter_can_load_uri 2012-09-23 02:05:42 +0200 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Plug a leak in the movecontext code 2012-09-22 16:12:05 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 4f962f7 to 6c0b52c 2012-09-07 12:58:19 -0400 Nicolas Dufresne * 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 * 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 * 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 * 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 * ges/ges-timeline-title-source.c: timeline-title-source: remove audio-test-source 2012-08-22 13:35:27 +0200 Stefan Sauer * common: Automatic update of common submodule From 668acee to 4f962f7 2012-08-10 12:39:10 -0400 Thibault Saunier * 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 * ges/ges-track-object.c: GI: Fix some annotations in TrackObject 2012-08-09 10:14:57 +0200 Sebastian Dröge * 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 * common: Automatic update of common submodule From 94ccf4c to 668acee 2012-07-28 21:45:03 -0400 Thibault Saunier * 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 * common: Automatic update of common submodule From 98e386f to 94ccf4c 2012-07-01 20:54:42 -0400 Thibault Saunier Merge remote-tracking branch 'origin/0.10' Conflicts: common 2012-07-01 20:03:37 -0400 Thibault Saunier * 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 * 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 * ges/ges-pitivi-formatter.c: pitivi-formatter: Make use of the Formatter:timeline protected field 2012-07-01 19:34:53 -0400 Thibault Saunier * ges/ges-formatter.c: * ges/ges-formatter.h: formatter: Add a timeline protected field 2012-04-08 00:30:03 +0300 Volodymyr Rudyi * 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 * 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 * ges/ges-timeline-pipeline.c: gestimelinepipeline: Fix for gst_element_make_from_uri() API changes 2012-06-08 15:07:15 +0200 Edward Hervey * common: Automatic update of common submodule From 03a0e57 to 98e386f 2012-06-08 14:27:34 +0200 Edward Hervey * common: Automatic update of common submodule From b811047 to 3baf58a 2012-06-06 18:20:59 +0200 Edward Hervey * common: Automatic update of common submodule From 1fab359 to 03a0e57 2012-06-06 18:20:11 +0200 Edward Hervey * common: Automatic update of common submodule From b098abb to b811047 2012-06-01 10:31:08 +0200 Edward Hervey * common: Automatic update of common submodule From f1b5a96 to 1fab359 2012-06-01 10:23:17 +0200 Edward Hervey * common: Automatic update of common submodule From 96f075b to b098abb 2012-05-31 13:12:01 +0200 Sebastian Dröge * common: Automatic update of common submodule From 92b7266 to f1b5a96 2012-05-30 13:41:17 +0200 Sebastian Dröge * 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 * common: Automatic update of common submodule From ec1c4a8 to 92b7266 2012-05-30 12:42:18 +0200 Sebastian Dröge * common: Automatic update of common submodule From 1e6c5ea to 96f075b 2012-05-30 12:33:40 +0200 Sebastian Dröge * common: Automatic update of common submodule From ff4cad1 to 1e6c5ea 2012-05-30 11:27:44 +0200 Sebastian Dröge * common: Automatic update of common submodule From 3429ba6 to ec1c4a8 2012-05-30 11:27:43 +0200 Sebastian Dröge * common: Automatic update of common submodule From 11f0cd5 to ff4cad1 2012-05-30 11:24:29 +0200 Sebastian Dröge * configure.ac: configure: Don't check for OBJC compiler 2012-05-30 11:24:29 +0200 Sebastian Dröge * configure.ac: configure: Don't check for OBJC compiler 2012-05-27 22:55:12 -0400 Thibault Saunier * ges/ges-track.c: track: Make sure to remove the proper TrackObject from the GSequence 2012-05-27 22:55:12 -0400 Thibault Saunier * ges/ges-track.c: track: Make sure to remove the proper TrackObject from the GSequence 2012-05-26 17:41:43 -0400 Thibault Saunier * tests/check/ges/backgroundsource.c: tests: Fix backgroundsource test 2012-05-26 17:00:50 -0400 Thibault Saunier 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 * ges/ges-timeline.c: timeline: Do not use meaningless offset values when snapping 2012-05-21 18:10:29 -0400 Thibault Saunier * ges/ges-formatter.c: formatter: Disable updates when loading a project 2012-05-21 12:45:00 -0400 Thibault Saunier * ges/ges-track-video-transition.c: videotransition: Some explanations about the invert property 2012-05-21 13:05:53 -0400 Thibault Saunier * 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 * 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 * ges/ges-timeline.c: timeline: Move all callbacks to the callback section of the file 2012-05-18 13:16:50 -0400 Thibault Saunier * 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 * 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 * ges/ges-timeline.c: timeline: Avoid to recalculate the moving context unecessarly 2012-05-18 10:28:26 -0400 Thibault Saunier * ges/ges-timeline.c: timeline: Create a debug logging category for the timeline 2012-05-16 15:53:07 -0400 Thibault Saunier * 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 * 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 * 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 * tests/check/ges/backgroundsource.c: tests: Add basic gaps tests 2012-05-09 11:45:02 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From dc70203 to 3429ba6 2012-05-10 14:56:34 -0400 Thibault Saunier Merge remote-tracking branch 'origin/0.10' 2012-05-10 12:40:23 -0400 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Avoid segfault when debug logging 2012-05-07 16:11:26 +0100 Tim-Philipp Müller * 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 * ges/ges-track-video-transition.c: track-video-transition: Make the invert property management coherent 2012-05-06 04:52:40 +0200 Mathieu Duponchelle * ges/ges-track-video-transition.c: track-video-transition: Fix set_inverted 2012-05-05 13:00:49 -0400 Thibault Saunier 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 * 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 * 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 * 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 * 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 * 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 * 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 * bindings/python/ges.defs: python : binds the getter and setter for the "inverted" property 2012-05-03 02:28:41 +0200 Mathieu Duponchelle * 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 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 * ges/ges-track-video-transition.c: track-video-transition: Reuse interpollation setting functions when possible 2012-05-02 18:07:01 -0400 Thibault Saunier * ges/ges-track-video-transition.h: track-video-transition: Reindent header 2012-05-02 18:04:54 -0400 Thibault Saunier * 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 * docs/libs/Makefile.am: build: Fixes distclean 2012-05-01 23:42:47 +0200 Mathieu Duponchelle * 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 * bindings/python/ges.defs: python: Binds the "set_border" function 2012-05-02 01:09:07 +0200 Mathieu Duponchelle * 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 * 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 * 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 Руслан Ижбулатов * 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 Руслан Ижбулатов * 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 * 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 * 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 * 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 * .gitignore: * tests/check/ges/.gitignore: * tools/.gitignore: .gitignore: ignore more 2012-05-01 18:48:57 +0100 Tim-Philipp Müller * ges/ges.c: ges: fix gnonlin version check 2012-05-01 18:43:02 +0100 Tim-Philipp Müller * ges/ges-track-audio-transition.c: track-audio-transition: fix adder sink pad template name 2012-04-18 18:34:01 +0400 Руслан Ижбулатов * 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 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 * 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 * 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 * 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 * ges/ges-track-object.c: trackobject: Add API guards all around 2012-04-23 19:17:51 -0400 Thibault Saunier * 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 * ges/ges-timeline-object.c: timelineobject: Ignore notifies when needed 2012-04-22 15:24:25 -0400 Thibault Saunier * 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 * 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 * 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 * ges/ges-timeline.c: timeline: Minor documentations fixes 2012-04-23 20:54:15 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline-object.c: timelineobject: Reimplement properly the splitting method 2012-04-20 19:02:19 -0400 Thibault Saunier * ges/ges-timeline-object.c: timelineobject: Misc API guard fixes 2012-04-19 00:34:59 -0400 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline.c: Port to the new GMutex API 2012-04-16 09:12:06 +0200 Sebastian Dröge * common: Automatic update of common submodule From 6db25be to dc70203 2012-04-13 13:59:17 +0200 Sebastian Dröge * 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 * common: Automatic update of common submodule From 464fe15 to 6db25be 2012-04-07 22:31:23 -0400 Thibault Saunier Merge branch '0.10' Conflicts: bindings/python/ges.defs 2012-03-29 18:57:47 -0400 Thibault Saunier * 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 * 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 * ges/ges-timeline-layer.c: timeline-layer: Reorganize file 2012-04-07 21:04:21 -0400 Thibault Saunier * 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 * 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 * ges/ges-track-object.c: trackobject: Some documentation fixing 2012-01-27 16:04:00 +0100 Thibault Saunier * 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 * ges/ges-track-object.c: trackobject: Add API documentation 2012-02-02 15:29:30 -0300 Thibault Saunier * 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 * ges/ges-timeline.c: timeline: Restructurate the file separting methods/callbacks/API 2012-01-25 15:12:05 +0100 Thibault Saunier * 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 * 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 * ges/ges-timeline-layer.c: * ges/ges-timeline-object.c: ges: Misc debug loggin cleanup 2012-01-20 16:37:28 -0300 Thibault Saunier * ges/ges-timeline.c: timeline: Plug a leak when calling enable_update 2012-01-22 23:03:22 -0300 Thibault Saunier * 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 * 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 * 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 * common: Automatic update of common submodule From 7fda524 to 464fe15 2012-03-30 03:36:27 -0400 Thibault Saunier * 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 Merge branch '0.10' 2012-03-30 19:10:33 -0300 Thiago Santos * 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 * 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 Merge remote-tracking branch 'origin/0.10' Conflicts: bindings/python/Makefile.am ges/Makefile.am 2012-04-03 19:25:18 -0400 Thibault Saunier * 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 Merge branch '0.10' Conflicts: bindings/python/ges.defs 2012-03-29 15:10:09 +0200 Sebastian Dröge Merge remote-tracking branch 'origin/0.10' 2012-01-30 17:47:42 +0100 Thibault Saunier * 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 * 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 * ges/ges-timeline-object.c: timelineobject: Update the nb_effect when releasing a TrackEffect 2012-01-22 22:50:24 -0300 Thibault Saunier * 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 * 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 * 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 * 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 Replace master with 0.11 2012-03-19 10:56:53 +0000 Tim-Philipp Müller * 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 Merge remote-tracking branch 'origin/master' into 0.11 2012-03-13 11:36:15 +0000 Tim-Philipp Müller * 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 * ges/ges-timeline-pipeline.c: ges-timeline-pipeline: port to 0.11 2012-03-12 15:46:42 +0000 Tim-Philipp Müller * 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 * configure.ac: configure: bump GLib requirement in line with core and other libs 2012-03-12 15:25:49 +0000 Tim-Philipp Müller 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: timeline-pipeline: update for new gst_buffer_map() API 2012-01-30 11:34:09 +0100 Mark Nauwelaerts * 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 * common: Automatic update of common submodule From c463bc0 to 7fda524 2012-01-25 11:41:15 +0100 Sebastian Dröge * common: Automatic update of common submodule From 2a59016 to c463bc0 2012-01-18 16:48:52 +0100 Sebastian Dröge * common: Automatic update of common submodule From 0807187 to 2a59016 2012-01-12 16:34:13 +0100 Edward Hervey * 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 * 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 * 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 * ges/ges-pitivi-formatter.c: pitivi-formatter: Use the new Formatter->project_loaded vmethod 2012-01-07 13:28:15 -0300 Thibault Saunier * 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 * 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 * ges/ges-formatter.c: formatter: Enhance some debug logging 2012-01-04 19:04:53 -0300 Thibault Saunier * 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 * 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 * ges/ges-pitivi-formatter.c: ges: Handle the new SourceMoved API in PitiviFormatter 2012-01-04 15:05:15 -0300 Thibault Saunier * bindings/python/ges.defs: bindings: Bind the new formatter API 2012-01-04 14:59:21 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline-layer.c: Disconnect handlers when object is removed from layer 2011-12-22 21:21:37 +0100 mathieu duponchelle * ges/ges-timeline-layer.c: Edit : typos 2011-08-24 12:04:32 +0200 Mathieu Duponchelle * 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 * ges/ges-timeline-layer.c: Fixes auto transitions on layers + n. 2011-12-29 13:56:08 +0100 Thibault Saunier * 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 * ges/ges-track.c: ges: Disconnect the TrackObject when removed from a Track 2011-12-26 02:54:29 +0100 Thibault Saunier * 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 * ges/ges-track-object.h: ges: Reindent ges-track-object.h 2011-12-22 14:41:39 +0100 Thibault Saunier * bindings/python/gesmodule.c: bindings: Register the various enums/flags in python 2011-12-19 11:21:18 +0100 Thibault Saunier * ges/ges-track-object.c: ges: Make TrackObject:locked a GObject property 2011-12-18 01:49:24 +0100 Thibault Saunier * 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 * ges/ges-track.h: ges: Reindent ges-track.h 2011-12-16 09:54:58 +0100 Thibault Saunier * ges/ges-timeline.c: * ges/ges-track-object.c: ges: Some debug logging enhancements 2011-12-16 09:52:35 +0100 Thibault Saunier * ges/ges-track.c: ges: Expand track background duration equal to timeline duration 2011-12-16 09:35:31 +0100 Thibault Saunier * ges/ges-timeline.c: ges: Add a duration property to GESTimeline API: GESTimeline:duration property 2011-12-16 04:23:58 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-layer.c: ges: Remove transitions properly 2011-12-06 14:10:14 -0300 Thibault Saunier * 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 * 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 * 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 * ges/ges-timeline-layer.c: ges: Auto transition cleanup 2011-11-30 20:13:09 -0300 Thibault Saunier * 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 * ges/ges-track-object.c: ges: Fix debugging symbol to avoid segfaults 2011-11-02 13:52:16 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-object.c: ges: add a timeline_object copy function 2011-08-09 15:56:56 +0200 Mathieu Duponchelle * 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 * 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 * 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 * ges/ges-timeline-standard-transition.c: ges: Handle supported formats in TimelineStandardTransition 2011-07-24 02:49:36 +0200 Mathieu Duponchelle * 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 * ges/ges-track.c: ges: Keep the track object list sorted in track 2011-07-27 02:02:20 +0200 Mathieu Duponchelle * 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 * 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 * 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 * bindings/python/ges-types.defs: * bindings/python/ges.defs: python: binds the PiTiVi formatter 2011-08-28 03:58:21 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline.c: ges: Keep layers sorted by priorities in the timeline 2011-06-02 22:01:43 -0400 Thibault Saunier * ges/ges-timeline-layer.c: * ges/ges-timeline-object.c: ges: Add some debugging symbols 2011-04-15 19:34:28 -0400 Thibault Saunier * 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 * ges/ges-timeline-layer.c: ges: Define a LAYER_HEIGHT constant in the normal layer 2012-01-11 15:31:41 +0100 Edward Hervey * docs/libs/ges-sections.txt: docs: Add pipeline {get|set}_{audio|video}_sink() docs 2012-01-06 09:16:09 -0300 Robert Swain * 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 * 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 * 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 * common: Automatic update of common submodule From 710d453 to 0807187 2012-01-02 15:58:17 +0100 Edward Hervey * ges/ges.c: ges: Update for registry API change 2011-12-30 17:24:37 +0100 Edward Hervey 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 * 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 * tests/examples/thumbnails.c: tests/thumbnails: Updates 2011-12-30 17:18:18 +0100 Edward Hervey * 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 * tests/check/ges/save_and_load.c: tests/save_and_load: Cleanups and leak fixing 2011-12-30 17:16:29 +0100 Edward Hervey * tests/check/ges/effects.c: tests/effects: Update for new 'parent' property in objects 2011-12-30 17:15:07 +0100 Edward Hervey * 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 * tools/ges-launch.c: ges-launch: allow for optional audio or video track 2011-11-30 15:44:45 +0100 Mark Nauwelaerts * 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 * 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 * 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 * 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 * configure.ac: configure: require pygst from git for the headers 2011-08-26 15:21:25 +0200 Sebastian Dröge * 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 * docs/libs/ges-sections.txt: docs: Add new API 2011-10-11 10:08:47 +0200 Edward Hervey * 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 * ges/ges-track-video-transition.c: TrackVideoTransition: Fix after merge 2011-10-11 09:58:46 +0200 Edward Hervey Merge remote-tracking branch 'origin/master' into 0.11 2011-10-11 09:54:56 +0200 Edward Hervey * common: common: Update to tip of 0.11 branch 2011-10-11 09:51:43 +0200 Edward Hervey * 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 * 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 * 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 * 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 * 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 * 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 * common: Automatic update of common submodule From a39eb83 to 11f0cd5 2011-09-06 16:07:30 +0200 Stefan Sauer * common: Automatic update of common submodule From 605cd9a to a39eb83 2011-09-02 19:26:43 +0200 Edward Hervey * docs/random/design: docs: clarify sentence a bit 2011-09-02 18:20:00 +0200 Edward Hervey * 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 * 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 * docs/libs/ges-sections.txt: docs: Remove duplicate symbol 2011-09-02 16:43:13 +0200 Edward Hervey * docs/random/design: docs: Add note about merging GNonLin and GES 2011-08-30 16:03:22 +0200 Andoni Morales Alastruey * 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 * 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 * 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 * docs/random/design: docs/design: Add section on compositing and mixing 2011-08-29 09:51:10 +0200 Edward Hervey * docs/random/design: docs/design: updates on effects and conforming materials 2011-08-17 12:24:48 +0200 Luis de Bethencourt * bindings/python/examples/simple.py: pyges: updating copyright of simple example Signed-off-by: Thibault Saunier 2011-08-14 20:27:08 +0200 Luis de Bethencourt * 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 * ges/ges-track-object.c: GESTrackObject: missing Since tag and typo fixes 2011-08-13 19:34:55 +0200 Luis de Bethencourt * docs/libs/ges-sections.txt: docs: adding GESPipelineFlags to docs 2011-08-13 18:38:31 +0200 Luis de Bethencourt * 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 * 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 * 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 * bindings/python/examples/simple.py: pyges: fix and clean examples/simple.py 2011-08-11 16:35:11 +0200 Edward Hervey * .gitignore: bindings: Ignore more files 2011-08-11 16:32:51 +0200 Edward Hervey * bindings/Makefile.am: * configure.ac: bindings: makefile => Makefile More in sync with all other Makefiles 2011-08-11 16:28:14 +0200 Edward Hervey * bindings/python/testsuite/common.py: * bindings/python/testsuite/runtests.py: testsuite: Remove print statements 2011-08-11 14:31:47 +0200 Thibault Saunier * 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 * 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 * bindings/makefile.am: pyges: Do not try to build the bindings if no python found 2011-08-11 14:21:18 +0200 Thibault Saunier * 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 * bindings/python/examples/simple.py: pyges: Add a PyGes example 2011-08-09 22:11:03 +0200 Thibault Saunier * 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 * bindings/python/ges.override: * bindings/python/gesmodule.c: pyges: link against pygst and use GstMiniObject 2011-06-10 16:58:55 +0200 Mathieu Duponchelle * 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 * 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 * 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 * bindings/python/ges.override: pyges : Add *_valist and *_by_pspec to the ignore-glob 2011-06-06 00:59:41 +0200 Mathieu Duponchelle * 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 * bindings/python/ges.override: pyges : override unhandled methods 2011-06-08 03:50:25 +0200 Mathieu Duponchelle * bindings/python/codegen/argtypes.py: pyges : add argtypes 2011-06-07 19:59:16 +0200 Mathieu Duponchelle * 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 * 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 * 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 * bindings/python/testsuite/test_textoverlay.py: pyges : Add a text overlay test 2011-06-07 18:09:35 -0400 Thibault Saunier * 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 * bindings/python/ges.override: pyges: add get_type method to the ignore_blob list 2011-06-07 19:35:00 +0200 Mathieu Duponchelle * bindings/python/ges.override: pyges: Override methods using GList 2011-05-12 02:27:12 +0200 Mathieu Duponchelle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * bindings/python/ges.override: pyges: add registering functions prototypes to ges.override 2011-04-25 19:13:38 -0400 Thibault Saunier * bindings/python/ges.override: pyges: Define missing types 2011-04-25 19:12:38 -0400 Thibault Saunier * 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 * bindings/python/ges.override: pyges: Add ges.override 2011-06-07 02:26:20 +0200 Mathieu Duponchelle * 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 * 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 * 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 * tests/examples/transition.c: examples: add file inpoints and summary to overlay example 2011-08-08 18:57:37 +0200 Luis de Bethencourt * tests/examples/overlays.c: examples: add xpos and ypos options to overlay example 2011-08-08 18:44:57 +0200 Luis de Bethencourt * 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 * 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 * 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 * tests/examples/overlays.c: examples: add color option to overlay example 2011-08-03 12:27:04 +0200 Luis de Bethencourt * 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 * 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 * tools/ges-launch.c: ges: easier to understand ges-launch summary 2011-08-01 13:40:48 +0200 Luis de Bethencourt * tools/ges-launch.c: ges: audio and video preset options in ges-launch 2011-06-21 20:35:47 +0200 Mathieu Duponchelle * ges/ges-track-parse-launch-effect.c: effects: implement the TrackParseLaunch get_property method properly 2011-06-07 00:49:58 +0200 Mathieu Duponchelle * 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 * 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 * tests/check/ges/filesource.c: tests: fix TEST_URI for filesource tests 2011-06-27 21:22:48 +0200 Luis de Bethencourt * 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 * 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 * 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 * ges/ges-timeline-file-source.c: GESTimelineFileSource: Fix documentation 2011-06-23 11:30:24 -0700 David Schleef * common: Automatic update of common submodule From 69b981f to 605cd9a 2011-05-26 09:15:29 -0700 Edward Hervey * 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 * 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 * 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 * 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 * configure.ac: configure.ac: Require core/base 0.10.34 2011-05-18 10:46:34 -0400 Thibault Saunier * ges/ges.c: doc: Update the ges_init documentation 2011-05-09 15:15:27 -0400 Thibault Saunier * docs/random/design: design: Update effect statuts 2011-05-09 13:33:53 -0400 Thibault Saunier * ges/ges-formatter.c: ges: Fix introspection annotations 2011-05-05 15:02:28 -0300 Thibault Saunier * tools/ges-launch.c: ges-launch: Add a proper error message on errors 2011-04-27 10:11:44 -0300 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-track.c: GESTrack: keep track of the properties GParamSpecs 2011-05-19 23:01:16 +0300 Stefan Kost * common: Automatic update of common submodule From 9e5bbd5 to 69b981f 2011-05-18 16:14:35 +0300 Stefan Kost * common: Automatic update of common submodule From fd35073 to 9e5bbd5 2011-05-18 12:27:56 +0300 Stefan Kost * common: Automatic update of common submodule From 46dfcea to fd35073 2011-05-09 14:26:53 +0200 Edward Hervey * ges/Makefile.am: ges: Initialize GES when building the gir/typelib 2011-05-09 14:25:50 +0200 Edward Hervey * docs/libs/ges-sections.txt: docs: Move TimelineTestSource symbols to the proper section 2011-05-09 14:25:32 +0200 Edward Hervey * docs/libs/ges.types: docs: Comment enum types in ges.types Not supported yet 2011-05-09 14:24:26 +0200 Edward Hervey * 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 * 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 * ges/ges-track.c: GESTrack: Make debug statement more useful 2011-05-07 13:41:11 +0200 Edward Hervey * 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 * ges/ges-track-effect.c: GESTrackEffect: Cleanup of the property lookup code 2011-05-07 13:26:01 +0200 Edward Hervey * 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 * ges/ges-track-effect.c: GESTrackObject: use gst_object_ref 2011-05-07 13:22:50 +0200 Edward Hervey * 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 * ges/ges-track-effect.c: * tests/check/ges/effects.c: GESTrackkEffect: Fix Leaks 2011-05-06 17:18:58 -0300 Thibault Saunier * ges/ges-timeline-parse-launch-effect.c: GESTimelineParseLaunchEffect: finalize to avoid leaks 2011-05-06 14:55:31 -0300 Thibault Saunier * 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 * ges/ges-track-object.c: GESTrackObject: Check for valid argument 2011-05-06 19:41:16 +0200 Edward Hervey * ges/ges-track-object.c: GESTrackObject: Make a local function static 2011-05-06 19:40:22 +0200 Edward Hervey * ges/ges-timeline-object.c: GESTimelineObject: Check for valid arguments and minor indentation fix 2011-05-06 19:39:26 +0200 Edward Hervey * ges/ges-track-parse-launch-effect.c: ges: Debug statement fixups 2011-05-06 19:38:26 +0200 Edward Hervey * 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 * 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 * 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 * tests/check/ges/.gitignore: tests: Add effects to ignored files 2011-05-06 11:56:30 +0200 Edward Hervey * 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 * docs/libs/ges-sections.txt: docs: Add missing symbol to ges-sections 2011-05-06 11:54:19 +0200 Edward Hervey * ges/ges-track-parse-launch-effect.h: TrackLaunchEffect: Fix macros 2011-03-17 11:38:38 -0400 Thibault Saunier * tests/examples/ges-ui.c: * tests/examples/ges-ui.glade: ges-ui: add effects 2011-03-16 17:06:08 -0400 Thibault Saunier * ges/ges-track-parse-launch-effect.c: GESTrackParseLaunchEffect: better create_element implementation 2011-03-16 16:23:53 -0400 Thibault Saunier * ges/ges-track-object.c: TrackObject: fixe a crash in connect_signal 2011-02-25 17:10:00 +0100 Thibault Saunier * 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 * 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 * 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 * ges/ges-track-object.c: GESTrackObject: fixe the connect_properties_signals 2011-02-23 20:30:04 +0100 Thibault Saunier * 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 * 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 * ges/ges-timeline-object.c: GESTimelineObject: set_top_effect_priority refactoring 2011-02-16 17:45:05 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * ges/ges-timeline-parse-launch-effect.c: GESTimelineParseLaunchEffect: documentation fixing 2011-02-11 09:14:33 +0100 Thibault Saunier * 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 * docs/design/effects.txt: design: Update effect implementation doc 2011-02-10 16:15:50 +0100 Thibault Saunier * 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 * 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 * 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 * docs/design/effects.txt: design: update effect implementation progress 2011-02-08 15:29:21 +0100 Thibault Saunier * 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 * 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 * ges/ges-timeline-object.c: docs: fixe the GESTimelineObject documentation 2011-02-08 11:06:57 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tests/check/ges/effects.c: test: Better priorities height setting testing 2011-02-03 15:40:05 +0100 Thibault Saunier * 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 * ges/ges-timeline-object.c: GESTimelineObject: make debugging symbols more usefull 2011-02-03 15:11:54 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * docs/libs/ges-docs.sgml: * ges/ges-track-effect.c: TrackEffect: Fixe the documentation 2011-01-31 11:53:38 +0100 Thibault Saunier * ges/ges-timeline-object.c: TimelineObject: fixe new API documentation 2011-01-31 11:41:37 +0100 Thibault Saunier * 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 * docs/libs/ges-sections.txt: * ges/ges-timeline-object.c: TimelineObject: remove trailling spaces 2011-01-31 11:32:14 +0100 Thibault Saunier * 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 * 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 * ges/ges-timeline-object.c: TimelineObject: add a function to sort list of applied effects 2011-01-31 11:10:35 +0100 Thibault Saunier * 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 * 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 * 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 * docs/design/effects.txt: design: spelling correction in the effect design document 2011-01-31 11:05:10 +0100 Thibault Saunier * 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 * docs/design/effects.txt: Specs: Add a description of the GESEffect class 2011-01-21 11:11:12 +0100 Thibault Saunier * ges/ges-track-effect.h: TrackEffect: Change copyright 2011-01-21 10:43:09 +0100 Thibault Saunier * docs/design/effects.txt: design: fixe effects API after Edward review 2011-01-18 20:03:42 +0100 Edward Hervey * docs/design/effects.txt: pending fixups/comments 2011-01-18 20:05:54 +0100 Thibault Saunier * 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 * docs/design/effects.txt: design: move GESTimlineSource new API to GESTimelineObject 2011-01-12 11:47:30 +0100 Thibault Saunier * docs/design/effects.txt: design: Effect API draft V2 2010-12-09 16:01:02 +0100 Thibault Saunier * docs/design/effects.txt: Specs: review effect API Draft 2010-12-07 13:47:47 +0100 Thibault Saunier * docs/design/effects.txt: Specs: Add effect API Draft 2010-12-04 12:22:54 +0100 Thibault Saunier * docs/design/effects.txt: Specs: Review design of effect implementation proposal 2010-11-15 23:32:23 +0100 Thibault Saunier * 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 * docs/design/effects.txt: Specs: proposal for effects implementation 2010-11-05 12:12:24 +0100 Thibault Saunier * 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 * 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 * common: Automatic update of common submodule From c3cafe1 to 46dfcea 2011-01-27 17:47:25 +0100 Alessandro Decina * 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 * common: Automatic update of common submodule From 1ccbe09 to c3cafe1 2011-03-25 22:39:04 +0100 Sebastian Dröge * common: Automatic update of common submodule From 193b717 to 1ccbe09 2011-03-25 14:58:45 +0200 Stefan Kost * common: Automatic update of common submodule From b77e2bf to 193b717 2011-03-25 10:01:45 +0100 Sebastian Dröge * Makefile.am: build: Include lcov.mak to allow tests coverage report generation 2011-03-25 09:35:38 +0100 Sebastian Dröge * common: Automatic update of common submodule From d8814b6 to b77e2bf 2011-03-25 09:12:04 +0100 Sebastian Dröge * common: Automatic update of common submodule From 6aaa286 to d8814b6 2011-03-24 18:51:48 +0200 Stefan Kost * common: Automatic update of common submodule From 6aec6b9 to 6aaa286 2011-03-16 19:58:54 -0400 Thibault Saunier * 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 * autogen.sh: autogen: wingo signed comment 2011-03-15 14:05:07 +0100 Edward Hervey * tests/examples/transition.c: examples: Make sure we don't end up using NULL values 2011-03-15 14:04:49 +0100 Edward Hervey * tests/examples/overlays.c: * tests/examples/text_properties.c: examples: Remove unused code 2011-03-15 14:02:14 +0100 Edward Hervey * tools/ges-launch.c: ges-launch: Handle return value of regcomp() 2011-03-15 14:01:41 +0100 Edward Hervey * ges/ges-keyfile-formatter.c: KeyFileFormatter: Handle return value of gst_value_deserialize() 2011-03-01 17:38:52 +0100 Alessandro Decina * ges/ges-timeline-object.c: * ges/ges-track-object.c: ges: fix compiler warnings 2011-02-16 15:21:48 +0000 Vincent Penquerc'h * 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 * common: Automatic update of common submodule From 1de7f6a to 6aec6b9 2011-02-14 12:57:00 +0200 Stefan Kost * common: Automatic update of common submodule From f94d739 to 1de7f6a 2011-02-09 11:21:02 +0100 Edward Hervey * ges/ges-timeline-object.c: TimelineObject: Store GParamSpec for height and layer 2011-02-07 12:19:18 +0000 Vincent Penquerc'h * 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 * tools/.gitignore: tools: ignore unversioned ges-launch as well 2011-01-31 19:01:24 +0000 Tim-Philipp Müller * tools/ges-launch.c: ges-launch: fix printf format issue 2011-01-31 19:00:49 +0000 Tim-Philipp Müller * 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 * tests/examples/concatenate.c: examples: Fix uninitialized variable compiler warning with gcc 4.6 2011-01-27 17:43:47 +0100 Alessandro Decina * ges/ges-keyfile-formatter.c: ges: fix compiler warnings 2011-01-26 23:50:00 +0200 Stefan Kost * tools/ges-launch.c: launch: fix typo in help output 2011-01-25 11:21:06 +0100 Edward Hervey * configure.ac: configure.ac: And back to development we go === release 0.10.1 === 2011-01-20 22:04:06 +0100 Edward Hervey * ChangeLog: * Makefile.am: * NEWS: * RELEASE: * configure.ac: * gst-editing-services.doap: Release 0.10.1 2011-01-18 19:06:45 +0100 Edward Hervey * 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 * configure.ac: configure.ac: 0.10.0.4 pre-release 2011-01-17 13:59:44 +0100 Edward Hervey * tools/ges-launch.c: ges-launch: Set restriction on video profile if present 2011-01-12 17:52:10 +0100 Edward Hervey * tools/ges-launch.c: ges-launch: Remove dead code and make functions/variables static 2011-01-12 17:45:23 +0100 Edward Hervey * 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 * configure.ac: 0.10.0.3 pre-release 2011-01-11 16:57:45 +0100 Sebastian Dröge * 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 * 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 * 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 * ges/ges-utils.c: ges-utils: minor doc update 2011-01-11 16:32:56 +0100 Sebastian Dröge * 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 * 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 * configure.ac: configure: Require G-I 0.9.6 for the --identifier-prefix parameter 2011-01-11 15:29:01 +0100 Sebastian Dröge * 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 * 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 * common: Automatic update of common submodule From e572c87 to f94d739 2011-01-10 16:40:02 +0000 Tim-Philipp Müller * common: Automatic update of common submodule From 8b72fde to e572c87 2011-01-10 16:51:34 +0100 Edward Hervey * common: common: Update to current master 2011-01-10 16:50:51 +0100 Edward Hervey * ges/ges-timeline-pipeline.c: TimelinePipeline: minor doc fix 2011-01-10 16:50:41 +0100 Edward Hervey * docs/libs/Makefile.am: docs: Fix image inclusion 2011-01-10 15:49:42 +0100 Edward Hervey * configure.ac: configure.ac: 0.10.0.2 pre-release 2011-01-10 15:24:13 +0100 Edward Hervey * docs/libs/Makefile.am: docs: Fix for uploading docs 2011-01-10 14:28:35 +0100 Thibault Saunier * 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 * ges/ges-track-object.c: TrackObject: Small cleanup 2011-01-10 15:09:40 +0100 Edward Hervey * 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 * 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 * docs/libs/ges-sections.txt: docs: Fixup the sections for missing/renamed/removed symbols 2011-01-10 11:12:55 +0100 Edward Hervey * ges/ges-track.h: Track: Mark as private the instance private structure 2011-01-10 11:12:38 +0100 Edward Hervey * ges/ges-timeline.c: Timeline: Fix documentation of return value 2011-01-08 16:01:31 +0100 Thibault Saunier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: TimelinePipeline: Updates for pbutils API change 2011-01-05 11:32:29 +0100 Edward Hervey * configure.ac: configure.ac: Require core git 2010-12-21 15:24:26 +0100 Edward Hervey * ges/ges-track-audio-transition.c: GESTrackAudioTransition: Fix empty if() body 2010-12-20 19:09:48 +0100 Edward Hervey * 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 * ges/ges-timeline.c: GESTimeline: minor cleanup 2010-12-20 12:01:04 +0100 Edward Hervey * 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 * 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 * 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 * 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 * 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 * common: Update common submodule 2010-12-17 11:27:37 +0100 Edward Hervey * 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 * ges/ges-track-object.c: GESTrackObject: Remove unused quarks 2010-12-17 11:26:49 +0100 Edward Hervey * configure.ac: configure.ac: Require GLib 2.22 Same requirement as for GStreamer 2010-12-16 19:36:15 +0100 Edward Hervey * 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 * tests/check/ges/simplelayer.c: GESSimpleTimelineLayer: add test for _index() method 2010-12-16 16:50:35 +0000 Brandon Lewis * 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 * 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 * docs/random/mapping.txt: random: Add explanation about TimelineObject<=>TrackObject mapping 2010-12-16 19:24:25 +0100 Edward Hervey * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline.c: GESTimeline: Remove useless variable 2010-12-16 12:41:26 +0100 Edward Hervey * 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 * 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 * 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 * 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 * 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 * tests/check/ges/simplelayer.c: GESSimpleTimelineLayer: add test for _nth() method 2010-12-15 16:40:59 +0000 Brandon Lewis * 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 * 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 * 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 * .gitignore: * ges/.gitignore: * pkgconfig/.gitignore: all: add/extend more .gitignore 2010-12-15 15:51:41 +0100 Edward Hervey * 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 * 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 * 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 * configure.ac: * ges/Makefile.am: ges: Add gobject-introspection support 2010-12-15 12:36:25 +0100 Edward Hervey * 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 * docs/random/mapping.txt: random: Add notes about Track mapping 2010-12-14 17:38:55 +0100 Edward Hervey * 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 * docs/random/mapping.txt: random: Add brainstorming about Timeline<=>Track object mapping 2010-12-10 12:15:54 +0100 Edward Hervey * 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 * 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 * 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 * docs/random/lifecycle: random: Add lifecycle document 2010-12-09 17:43:08 +0100 Edward Hervey * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * docs/libs/ges-docs.sgml: docs: expose the TrackImageSource docs 2010-12-08 15:32:05 +0100 Edward Hervey * docs/libs/ges.types: docs: Update ges.types with all types 2010-11-28 13:24:07 +0100 Thibault Saunier * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: * ges/ges-timeline-pipeline.h: GESTimelinePipeline: add a private structure 2010-11-26 18:43:36 +0100 Thibault Saunier * 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 * tests/check/ges/save_and_load.c: Tests: fix CMP_FAIL on 32-bit machines 2010-11-10 19:52:16 +0100 Edward Hervey * docs/random/design: docs: TODO idea dumping Only the beginning 2010-12-02 12:28:15 +0100 Edward Hervey * 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 * 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 * 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 * 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 * common: Update common 2010-10-22 15:57:45 +0100 Brandon Lewis * 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 * 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 * tests/examples/ges-ui.c: ges-ui: implement load command 2010-10-11 11:37:51 +0100 Brandon Lewis * 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 * 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 * tests/check/ges/simplelayer.c: test: Fix typo in simplelayer test 2010-11-27 16:55:49 +0100 Edward Hervey * tests/check/ges/save_and_load.c: check: Small cleanup of the save/load test 2010-11-26 18:39:26 +0100 Edward Hervey * 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 * ges/ges-timeline.c: Timeline: Add doc and more comments/fixmes 2010-11-27 18:11:56 +0100 Edward Hervey * ges/ges-formatter.c: GESTimeline: Prevent saving timelines without any layers 2010-11-26 13:02:48 +0100 Edward Hervey * ges/ges-timeline-layer.c: TimelineLayer: Add debug statement regarding priorities 2010-10-20 18:01:37 +0100 Brandon Lewis * 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 * ges/ges-timeline.c: GESTimeline: add more fixmes 2010-10-07 16:52:51 +0100 Brandon Lewis * tests/check/ges/save_and_load.c: tests: add save->load test case 2010-10-07 16:51:38 +0100 Brandon Lewis * ges/ges-keyfile-formatter.c: GESKeyFileFormatter: use ges_formatter_get/set data 2010-10-07 14:55:14 +0100 Brandon Lewis * 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 * 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 * tests/check/ges/save_and_load.c: tests: update unit tests 2010-10-07 13:49:15 +0100 Brandon Lewis * 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 * tools/ges-launch.c: tools: add project file support to ges-launch 2010-09-29 12:43:47 +0100 Brandon Lewis * 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 * 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 * 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 * ges/ges-timeline.c: GESTimeline: set track state to NULL before removing from timeline 2010-10-07 12:29:05 +0100 Brandon Lewis * ges/ges-timeline.c: GESTimeline: release timeline objects when a layer is removed 2010-10-22 14:02:29 +0100 Brandon Lewis * 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 * tests/check/ges/basic.c: tests: test for track removal while timeline contains timeline objects 2010-10-20 16:23:22 +0100 Brandon Lewis * tests/check/ges/basic.c: tests: test that adding tracks after adding layers works 2010-10-19 17:56:37 +0100 Brandon Lewis * 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 * ges/ges-simple-timeline-layer.c: GESSimpleTimelineLayer: override get_objects () virtual method 2010-09-22 12:29:26 +0100 Brandon Lewis * 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 * ges/ges-timeline.c: GESTimeline: allow adding tracks after layers 2010-10-19 16:39:43 +0100 Brandon Lewis * ges/ges-timeline.c: GESTimeline: add existing timeline objects when adding layers 2010-09-23 14:49:04 +0100 Brandon Lewis * ges/ges.c: ges: ensure built-in timeline object classes are registered 2010-09-23 14:47:48 +0100 Brandon Lewis * ges/ges-timeline.c: GESTimeline: remove layers before removing tracks in dispose () 2010-11-25 14:03:07 +0100 Edward Hervey * tools/ges-launch.c: ges-launch: Gracefully handle missing properties 2010-11-25 14:02:26 +0100 Edward Hervey * ges/ges-timeline.c: Timeline: Remove unneeded variable 2010-11-25 14:01:15 +0100 Edward Hervey * ges/ges-timeline-object.c: TimelineObject: Forgot a break in a switch/case 2010-11-23 18:24:38 +0100 Edward Hervey * 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 * .gitignore: ges: Ignore more 2010-11-23 17:33:32 +0100 Edward Hervey * tests/check/ges/.gitignore: * tests/examples/.gitignore: tests: Ignore more files 2010-10-23 17:38:31 +0200 Edward Hervey * ges/ges-track-video-transition.c: GesTrackVideoTransition: Prefer videomixer2 to videomixer If present 2010-11-10 16:13:07 +0100 Edward Hervey * AUTHORS: * README: AUTHORS/README: cleanup 2010-11-11 17:39:32 +0100 Edward Hervey * tools/ges-launch.c: ges-launch: g_print => g_printerr for relevant messages 2010-11-09 16:27:06 +0100 Edward Hervey * tests/examples/concatenate.c: examples: Fix for latest GstDiscoverer API changes 2010-11-04 12:29:20 +0100 Edward Hervey * configure.ac: configure.ac: Require GStreamer core/base 0.10.30.4 2010-11-04 12:28:46 +0100 Edward Hervey * ges/ges-timeline.c: GESTimeline: Change for updated GstDiscoverer API 2010-09-28 16:30:30 +0200 Edward Hervey * configure.ac: * ges/Makefile.am: Add gstvideo in build dependencies 2010-09-23 18:39:01 +0200 Edward Hervey * common: common: Update to master 2010-09-23 18:33:27 +0200 Edward Hervey * 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 * tools/ges-launch.c: ges-launch: Return 0 if no errors, else 1 2010-09-16 08:42:50 +0200 Edward Hervey * common: Update common 2010-09-14 16:04:02 +0200 Edward Hervey * 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 * 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 * common: common: Update to latest version 2010-08-05 18:32:17 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: move a callback into the proper section of the file 2010-08-05 17:50:48 +0200 Brandon Lewis * tests/examples/ges-ui.c: fix bug in time format regex 2010-08-05 17:48:07 +0200 Brandon Lewis * tests/examples/ges-ui.c: show duration text entry for all object types 2010-08-05 16:19:35 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.glade: hide empty menus 2010-08-05 16:12:45 +0200 Brandon Lewis * tests/examples/ges-ui.c: ignore some UI signals when selection changes 2010-08-05 15:46:34 +0200 Brandon Lewis * tests/examples/ges-ui.c: disable playback when layer is in invalid state 2010-08-05 15:46:02 +0200 Brandon Lewis * 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 * 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 * ges/ges-simple-timeline-layer.c: add doc comment for object-moved signal 2010-08-05 12:52:13 +0200 Brandon Lewis * tests/examples/ges-ui.c: update list store layer emits object-moved 2010-08-05 12:51:31 +0200 Brandon Lewis * tests/check/ges/simplelayer.c: add unit tests for 'object-moved' signal 2010-08-05 12:50:19 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: implement move up/down commands 2010-08-04 18:31:34 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: also disallow moving past the start or end of timeline 2010-08-04 18:02:14 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.glade: add move up/down actions 2010-08-04 17:43:35 +0200 Brandon Lewis * tests/examples/ges-ui.glade: re-arrange tool-bar buttons 2010-08-04 17:34:51 +0200 Brandon Lewis * tests/examples/ges-ui.c: don't allow changes to timeline if we're paused 2010-08-04 17:27:01 +0200 Brandon Lewis * tests/examples/ges-ui.c: * tests/examples/ges-ui.glade: implement the stop button 2010-08-04 17:17:59 +0200 Brandon Lewis * tests/examples/ges-ui.c: * tests/examples/ges-ui.glade: add stop button 2010-08-04 16:57:18 +0200 Brandon Lewis * tests/examples/ges-ui.c: code clean-up and comments 2010-08-04 16:36:15 +0200 Brandon Lewis * tests/examples/ges-ui.c: eliminate unecessary function prototypes 2010-08-04 16:26:39 +0200 Brandon Lewis * tests/examples/ges-ui.c: move UI callbacks to end of file 2010-08-04 16:25:00 +0200 Brandon Lewis * tests/examples/ges-ui.c: clean up application struct 2010-08-03 19:53:34 +0200 Brandon Lewis * tests/examples/ges-ui.glade: more xml tweaks 2010-08-03 19:42:35 +0200 Brandon Lewis * tests/examples/ges-ui.c: don't connect to selected objects unless selection is homogenous 2010-08-03 19:38:13 +0200 Brandon Lewis * tests/examples/ges-ui.glade: UI layout tweaks 2010-08-03 19:31:23 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: use a private struct with get_selection_foreach 2010-08-03 15:59:38 +0200 Brandon Lewis * tests/examples/ges-ui.c: disable add_transition 2010-08-03 15:54:25 +0200 Brandon Lewis * tests/examples/ges-ui.c: get add_transition action from xml 2010-08-03 15:51:29 +0200 Brandon Lewis * tests/examples/ges-ui.glade: menu/toolbar for adding transitions 2010-08-03 15:40:44 +0200 Brandon Lewis * tests/examples/ges-ui.c: allow multiple selections 2010-08-03 15:17:25 +0200 Brandon Lewis * tests/examples/ges-ui.c: set pipeline to ready on EOS 2010-08-03 15:03:24 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: set frequency property when spin button changed 2010-08-03 14:53:22 +0200 Brandon Lewis * tests/examples/ges-ui.c: update frequency spin button when selection changed 2010-08-03 14:46:21 +0200 Brandon Lewis * tests/examples/ges-ui.glade: add frequency and volume widgets, with signal handlers 2010-08-03 14:43:41 +0200 Brandon Lewis * tests/examples/ges-ui.c: update source volume when slider is moved 2010-08-03 14:39:56 +0200 Brandon Lewis * tests/examples/ges-ui.c: update volume slider when volume changes 2010-08-03 14:38:42 +0200 Brandon Lewis * tests/examples/ges-ui.c: get freq/volume widgets 2010-08-02 19:06:06 +0200 Brandon Lewis * tests/examples/ges-ui.c: implement background widget 2010-08-02 17:26:24 +0200 Brandon Lewis * tests/examples/ges-ui.c: fill backround type table from enum values 2010-08-02 17:25:26 +0200 Brandon Lewis * tests/examples/ges-ui.c: adjust visibility calculations 2010-08-02 17:24:24 +0200 Brandon Lewis * tests/examples/ges-ui.c: allow adding test sources 2010-08-02 17:22:39 +0200 Brandon Lewis * tests/examples/ges-ui.c: get background widgets from xml 2010-08-02 17:21:36 +0200 Brandon Lewis * tests/examples/ges-ui.glade: test sources 2010-07-27 15:25:20 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: set sate of pipeline to NULL prior to exit 2010-07-23 19:14:21 +0200 Brandon Lewis * tests/examples/ges-ui.c: update text property from text widget 2010-07-23 18:59:40 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: completely hide properties widgets when nothign is selected 2010-07-23 18:56:48 +0200 Brandon Lewis * tests/examples/ges-ui.c: refactor connecto_to_* family of functions 2010-07-23 18:43:37 +0200 Brandon Lewis * tests/examples/ges-ui.c: connect to text property widgets 2010-07-23 18:42:53 +0200 Brandon Lewis * tests/examples/ges-ui.glade: add widgets to UI for editing text properties 2010-07-23 18:42:13 +0200 Brandon Lewis * tests/examples/ges-ui.c: add signal handlers for text properties 2010-07-23 18:38:46 +0200 Brandon Lewis * tests/examples/ges-ui.c: keep track of the type of selected objects 2010-07-23 18:36:54 +0200 Brandon Lewis * tests/examples/ges-ui.c: add title source when action activates 2010-07-23 10:58:11 +0200 Brandon Lewis * tests/examples/ges-ui.glade: add text properties to UI 2010-07-22 18:07:26 +0200 Brandon Lewis * tests/examples/ges-ui.c: allow multiple files to be added 2010-07-22 17:58:00 +0200 Brandon Lewis * tests/examples/ges-ui.c: use file-chooser dialog when adding files 2010-07-22 13:13:20 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: disable add_file during playback 2010-07-22 12:51:07 +0200 Brandon Lewis * tests/examples/ges-ui.c: disable delete during playback 2010-07-22 12:48:34 +0200 Brandon Lewis * tests/examples/ges-ui.c: disable properties during playback 2010-07-22 12:43:13 +0200 Brandon Lewis * tests/examples/ges-ui.c: update state from bus; set button icon from playback state 2010-07-22 12:20:59 +0200 Brandon Lewis * tests/examples/ges-ui.c: set the action sensitivity, not the menu item 2010-07-22 12:17:24 +0200 Brandon Lewis * tests/examples/ges-ui.c: * tests/examples/ges-ui.glade: toggle playback when button clicked 2010-07-22 12:08:28 +0200 Brandon Lewis * tests/examples/ges-ui.c: fix signal handler signatures 2010-07-22 12:05:09 +0200 Brandon Lewis * tests/examples/ges-ui.glade: add play action/controls 2010-07-22 11:00:15 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: also set state of delete menu item 2010-07-21 20:21:01 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.glade: add in-point slider 2010-07-21 19:01:33 +0200 Brandon Lewis * tests/examples/ges-ui.c: * tests/examples/ges-ui.glade: format duration nicely 2010-07-21 18:15:56 +0200 Brandon Lewis * tests/examples/ges-ui.c: set slider range before setting duration 2010-07-21 18:15:06 +0200 Brandon Lewis * tests/examples/ges-ui.c: remove some unneeded function protos 2010-07-21 18:03:06 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: connect to duration and max-duration changed of filesources 2010-07-21 16:29:12 +0200 Brandon Lewis * tests/examples/ges-ui.c: do housekeeping each time selection is updated 2010-07-21 15:43:28 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: disable properties editor when nothing is selected 2010-07-21 15:22:29 +0200 Brandon Lewis * tests/examples/ges-ui.glade: rename a few attributes 2010-07-21 13:54:24 +0200 Brandon Lewis * tests/examples/ges-ui.c: update list model when objects are removed from layer 2010-07-21 13:53:54 +0200 Brandon Lewis * tests/examples/ges-ui.c: delete selected objects from layer when user issues delete command 2010-07-21 13:53:01 +0200 Brandon Lewis * tests/examples/ges-ui.c: store a pointer to the list selection 2010-07-21 11:40:18 +0200 Brandon Lewis * tests/examples/ges-ui.c: display filename and duration of added clip 2010-07-21 11:36:41 +0200 Brandon Lewis * tests/examples/ges-ui.glade: don't create tree model in XML 2010-07-20 19:41:58 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: connect to layer object-{added,removed} and display message 2010-07-20 19:05:15 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: add liscence and some organizational comments 2010-07-20 18:38:54 +0200 Brandon Lewis * 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 * tests/examples/ges-ui.c: create a simple timeline layer 2010-07-20 17:59:59 +0200 Brandon Lewis * tests/examples/ges-ui.c: pass app instance to signal handlers 2010-07-20 17:55:06 +0200 Brandon Lewis * tests/examples/ges-ui.c: move app data to private struct 2010-07-20 17:52:24 +0200 Brandon Lewis * tests/examples/Makefile.am: export dynamic symbols in examples so signal autoconnect works 2010-07-20 17:05:26 +0200 Brandon Lewis * tests/examples/ges-ui.c: add protos so it builds under c90 mode 2010-07-20 16:44:01 +0200 Brandon Lewis * tests/examples/Makefile.am: add ges-ui.c to build system 2010-07-20 16:43:03 +0200 Brandon Lewis * configure.ac: add GTK+ to configure.ac as optional dependency for examples UI 2010-07-20 16:23:40 +0200 Brandon Lewis * tests/examples/ges-ui.c: * tests/examples/ges-ui.glade: move ui to tests/examples 2010-07-20 15:56:12 +0200 Brandon Lewis * tools/ges-ui.c: * tools/ges-ui.glade: add 'add_file' menu item 2010-07-20 13:57:28 +0200 Brandon Lewis * tools/ges-ui.c: * tools/ges-ui.glade: flesh out ui design a bit more 2010-07-19 19:39:26 +0200 Brandon Lewis * tools/ges-ui.c: * tools/ges-ui.glade: quit when main window closes 2010-07-19 19:02:41 +0200 Brandon Lewis * tools/ges-ui.c: check in UI implementation 2010-07-19 18:09:32 +0200 Brandon Lewis * tools/ges-ui.glade: check in ui file 2010-09-02 17:55:20 +0200 Edward Hervey * ges/ges-track-object.c: GESTrackObject: Fix debug statement 2010-09-02 17:54:48 +0200 Edward Hervey * tests/check/ges/filesource.c: tests: Fix a leak in test_filesource_images 2010-09-01 17:04:26 +0200 Edward Hervey * ges/ges-timeline-source.c: GESTimelineFileSource: Don't leak strings 2010-07-16 16:43:38 +0200 Brandon Lewis * tests/check/ges/simplelayer.c: update unit tests to catch an earlier bug 2010-07-14 16:50:16 +0200 Brandon Lewis * tests/examples/Makefile.am: * tests/examples/text_properties.c: check in text properties example 2010-07-14 16:14:19 +0200 Brandon Lewis * ges/ges-timeline-source.c: deactivate overlay when no text is present 2010-07-14 16:12:56 +0200 Brandon Lewis * 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 * 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 * ges/ges-timeline-text-overlay.c: fix typo in docstring 2010-07-14 13:18:57 +0200 Brandon Lewis * ges/ges-track-text-overlay.c: add conversion elements to TrackTextOverlay 2010-07-14 13:14:54 +0200 Brandon Lewis * 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 * 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 * 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 * tests/check/ges/simplelayer.c: unref timeline in unit test 2010-07-13 18:12:34 +0200 Brandon Lewis * ges/ges-timeline-source.c: don't add the same track object twice 2010-07-13 17:13:02 +0200 Brandon Lewis * ges/ges-timeline-title-source.c: check for proper instance type in _set_* functions 2010-07-13 12:11:06 +0200 Brandon Lewis * ges/ges-timeline-object.h: fix documentation comment 2010-07-09 18:59:41 +0200 Brandon Lewis * ges/ges-timeline-source.c: create a text overlay with default text for every TimelineSource 2010-07-09 18:29:27 +0200 Brandon Lewis * 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 * ges/ges-simple-timeline-layer.c: move this commit down where it belongs 2010-07-09 18:26:56 +0200 Brandon Lewis * ges/ges-timeline-source.c: override create_track_objects (plural) in TimelineSource 2010-07-09 15:59:44 +0200 Brandon Lewis * tests/check/ges/layer.c: test height notification 2010-07-09 13:49:23 +0200 Brandon Lewis * ges/ges-timeline-object.c: update height when track object priority offset changes 2010-07-09 13:48:19 +0200 Brandon Lewis * ges/ges-track-object.c: * ges/ges-track-object.h: reword priority documentation comments 2010-07-09 12:10:06 +0200 Brandon Lewis * ges/ges-simple-timeline-layer.c: use object height in gstl recalcuate 2010-07-09 12:09:29 +0200 Brandon Lewis * ges/ges-timeline-object.c: initialize height to 1 2010-07-09 12:09:08 +0200 Brandon Lewis * docs/libs/ges-sections.txt: * ges/ges-timeline-object.h: add accessor macro 2010-07-09 11:51:21 +0200 Brandon Lewis * ges/ges-timeline-object.c: * ges/ges-timeline-object.h: add height property 2010-07-09 11:50:31 +0200 Brandon Lewis * ges/ges-timeline-object.c: document timelineobject::priority 2010-07-08 19:01:46 +0200 Brandon Lewis * 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 * docs/libs/ges-sections.txt: * tests/check/ges/layer.c: update documentation and unit tests 2010-07-08 18:51:38 +0200 Brandon Lewis * 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 * 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 * 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 * ges/ges-timeline-object.h: add create_track_objects declarations 2010-07-07 15:47:12 +0200 Brandon Lewis * 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 * ges/ges-timeline-transition.c: GESTimelineTransition: Remove unneeded variable 2010-08-31 13:29:37 +0200 Edward Hervey * tools/ges-launch.c: ges-launch: Fix memory leak 2010-08-12 15:45:15 +0200 Brandon Lewis * ges/ges-track-image-source.c: allow borders on still image videoscale 2010-08-12 15:44:47 +0200 Brandon Lewis * ges/ges-timeline.c: always support audio on still images 2010-08-11 18:23:17 +0200 Brandon Lewis * ges/ges-track-image-source.c: remove ffmpegcolorspace after freeze (see 626518) 2010-08-10 16:17:07 +0200 Brandon Lewis * ges/ges-timeline.c: don't set max duration on still images 2010-08-10 10:54:04 +0200 Brandon Lewis * ges/ges-track-image-source.c: implement still image sources 2010-08-09 18:36:00 +0200 Brandon Lewis * ges/ges-track-image-source.c: naive implementation of still images (seems broken) 2010-08-09 18:35:26 +0200 Brandon Lewis * 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 * 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 * tests/check/ges/filesource.c: set supported formats in new unit test 2010-08-09 13:26:20 +0200 Brandon Lewis * 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 * 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 * tests/check/ges/filesource.c: unit test for image sources 2010-08-06 12:58:08 +0200 Brandon Lewis * 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 * ges/Makefile.am: ges: Also dist the generated files 2010-08-05 11:40:49 +0200 Edward Hervey * ges/Makefile.am: marshal: Fix typo in the Makefile that prevented marshal .c being built 2010-07-23 18:22:31 +0200 Brandon Lewis * ges/ges-track-title-source.c: link to the right sink pad on textoverlay object 2010-07-16 18:41:02 +0200 Brandon Lewis * 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 * ges/ges-screenshot.c: don't plug encoders when raw caps are given 2010-07-16 18:37:54 +0200 Brandon Lewis * 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 * ges/ges-timeline-pipeline.c: ges_caps_set_simple was being called incorrectly 2010-07-16 18:17:27 +0200 Edward Hervey * docs/libs/Makefile.am: docs: Use the proper location for header files 2010-07-16 18:00:05 +0200 Edward Hervey * ges/Makefile.am: ges: Don't forget to dist ges-timeline-overlay.h 2010-07-16 17:29:05 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: TimelinePipeline: Make sure fwrite completes successfully 2010-07-15 19:50:22 +0200 Brandon Lewis * tools/ges-launch.c: add option to ges-launch to save thumbnails periodicaly 2010-07-15 19:49:53 +0200 Brandon Lewis * docs/libs/ges-sections.txt: update documentation 2010-07-15 19:49:28 +0200 Brandon Lewis * 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 * ges/ges-screenshot.c: add todo item 2010-07-15 19:12:53 +0200 Brandon Lewis * ges/ges-screenshot.c: factor encoder-finding code into separate function 2010-07-15 18:59:50 +0200 Brandon Lewis * ges/ges-screenshot.c: use gstprofile to plug an encoder and encode the current frame 2010-07-15 16:58:22 +0200 Brandon Lewis * 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 * 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 * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Use smartencoder feature from encodebin 2010-07-14 13:29:49 +0200 Edward Hervey * configure.ac: configure: Require new core/base for fast pad linking 2010-07-14 13:29:23 +0200 Edward Hervey * 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 * tests/check/ges/transition.c: fix mem leak in unit test 2010-07-08 16:35:43 +0200 Brandon Lewis * 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 * ges/ges-enums.c: * ges/ges-enums.h: don't expose transition enum value table 2010-07-08 15:54:27 +0200 Brandon Lewis * ges/ges-timeline-transition.c: use gtype to get the enum value for the nick 2010-07-08 13:20:56 +0200 Brandon Lewis * 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 * 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 * ges/ges-enums.c: * ges/ges-enums.h: add new invalid enum type 2010-07-08 13:20:56 +0200 Brandon Lewis * 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 * ges/ges-track-transition.c: * ges/ges-track-transition.h: remove notify::duration signal handler 2010-07-08 12:35:41 +0200 Brandon Lewis * 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 * ges/ges-track-audio-transition.c: * ges/ges-track-video-transition.c: remove unneeded assertions 2010-07-07 17:34:58 +0200 Brandon Lewis * 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 * docs/libs/ges-sections.txt: docs: Add ges_track_video_test_source_set_pattern 2010-07-06 19:07:50 +0200 Edward Hervey * ges/ges-track-transition.c: TrackTransition: Don't return anything for unhandled tracks 2010-07-06 19:06:24 +0200 Edward Hervey * 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 * 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 * ges/ges-timeline-transition.c: GES: Simplify loops 2010-07-06 19:03:52 +0200 Edward Hervey * 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 * 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 * ges/ges-timeline-test-source.c: * ges/ges-timeline-transition.c: GES: Remove useless variables 2010-07-06 19:00:50 +0200 Edward Hervey * 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 * ges/ges-timeline-test-source.c: TimelineTestSource: Set freq/volume whether mute or not 2010-07-06 18:57:22 +0200 Edward Hervey * ges/ges-timeline-overlay.c: TimelineOverlay: Fix doc 2010-07-06 18:54:33 +0200 Edward Hervey * 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 * ges/ges-simple-timeline-layer.c: SimpleTimelineLayer: Fix top-level doc 2010-07-06 16:27:08 +0200 Edward Hervey * ges/ges-timeline-layer.c: TimelineLayer: Document _set_priority 2010-07-06 16:26:48 +0200 Edward Hervey * 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 * ges/ges-utils.c: utils: Document timeline_new_audio_video 2010-07-06 16:25:50 +0200 Edward Hervey * 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 * ges/ges-track-video-transition.h: make type field of video transition private 2010-07-02 16:23:41 +0200 Brandon Lewis * 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 * 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 * 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 * 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 * ges/ges-enums.c: fix incorrect type name strings 2010-07-02 12:48:11 +0200 Brandon Lewis * 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 * 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 * tests/check/ges/overlays.c: * tests/check/ges/titles.c: update unit tests 2010-07-02 12:26:42 +0200 Brandon Lewis * 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 * 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 * 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 * 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 * docs/libs/ges-sections.txt: move missing symbol to enums section 2010-07-01 18:50:55 +0200 Brandon Lewis * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * docs/libs/ges-docs.sgml: * ges/ges-track-video-background-source.h: documentation fixes 2010-06-30 17:29:32 +0200 Brandon Lewis * docs/libs/ges-sections.txt: update documentation 2010-06-30 17:29:21 +0200 Brandon Lewis * 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 * 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 * ges/ges-track-source.h: fix doc comments 2010-06-30 16:47:12 +0200 Brandon Lewis * 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 * 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 * 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 * 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 * 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 * docs/libs/ges-sections.txt: fix documentation mistake 2010-06-30 13:22:04 +0200 Brandon Lewis * 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 * ges/ges-timeline-title-source.c: create test track object instead of audio-title-source 2010-06-28 18:23:37 +0200 Brandon Lewis * 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 * ges/ges-track-video-transition.c: free mixer in dispose separately from sink pads 2010-06-28 17:33:53 +0200 Edward Hervey * tests/examples/.gitignore: examples: Ignore files 2010-06-28 17:33:34 +0200 Edward Hervey * tests/check/ges/.gitignore: check: Ignore files 2010-06-28 17:24:25 +0200 Edward Hervey * docs/libs/ges-docs.sgml: docs: Add links to all new documentation files 2010-06-28 17:23:49 +0200 Edward Hervey * tests/examples/overlays.c: tests: Add for exit usage 2010-06-25 12:04:47 +0200 Brandon Lewis * ges/ges-track-video-overlay.c: don't forget to unref pad targets 2010-06-23 18:23:31 +0200 Brandon Lewis * ges/ges-track-video-overlay.c: rough overlay implementation 2010-06-23 18:22:56 +0200 Brandon Lewis * tests/examples/Makefile.am: * tests/examples/overlays.c: check in overlay test app 2010-06-23 16:42:14 +0200 Brandon Lewis * ges/ges-timeline-overlay.c: activate property setting functions 2010-06-23 16:38:45 +0200 Brandon Lewis * tests/check/ges/overlays.c: activate remaining overlay tests 2010-06-23 16:38:19 +0200 Brandon Lewis * ges/ges.h: add video overlays to main header 2010-06-23 16:32:25 +0200 Brandon Lewis * ges/ges-timeline-overlay.c: create timeline-overly creates appropriate track object 2010-06-23 16:30:18 +0200 Brandon Lewis * 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 * 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 * tests/check/Makefile.am: * tests/check/ges/overlays.c: check in overlay unit tests 2010-06-21 15:47:04 +0200 Brandon Lewis * 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 * ges/ges-track-transition.h: update doc comment 2010-06-18 16:36:54 +0200 Brandon Lewis * 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 * tests/check/ges/transition.c: update unit tests 2010-06-18 16:22:38 +0200 Brandon Lewis * docs/libs/ges-sections.txt: update documentation 2010-06-18 16:22:21 +0200 Brandon Lewis * 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 * 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 * 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 * docs/libs/ges-sections.txt: update documentation 2010-06-18 15:04:50 +0200 Brandon Lewis * 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 * 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 * 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 * ges/ges-timeline-transition.c: create transition subtype according to track type 2010-06-18 11:24:07 +0200 Brandon Lewis * 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 * 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 * 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 * ges/ges-track-video-title-source.c: fix stupid copy/paste typo 2010-06-17 11:22:30 +0200 Brandon Lewis * 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 * tests/check/ges/titles.c: clean up some memory leaks in the titles unit test 2010-06-16 19:04:53 +0200 Brandon Lewis * tests/check/ges/titles.c: unit tests for {h,v}alignment properties 2010-06-16 19:03:51 +0200 Brandon Lewis * 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 * docs/libs/ges-sections.txt: documentation 2010-06-16 19:01:48 +0200 Brandon Lewis * 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 * 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 * 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 * ges/ges-track-video-title-source.c: set black background on titles by default 2010-06-16 13:22:15 +0200 Brandon Lewis * tools/ges-launch.c: add title sources to ges-launch 2010-06-16 13:21:19 +0200 Brandon Lewis * ges/ges-timeline-title-source.c: have timeline title source create audio title sources 2010-06-16 13:20:54 +0200 Brandon Lewis * 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 * ges/ges-track-video-title-source.c: don't forget to check for null 2010-06-15 19:21:37 +0200 Brandon Lewis * 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 * ges/ges-timeline-title-source.c: implement ges_timeline_title_source_create_track_object 2010-06-15 17:10:17 +0200 Brandon Lewis * ges/ges-track-video-background-source.h: remove trailing '$' accidentally pasted 2010-06-15 17:09:50 +0200 Brandon Lewis * docs/libs/ges-sections.txt: update documentation 2010-06-15 17:09:31 +0200 Brandon Lewis * 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 * ges/ges-timeline-title-source.c: add text property to GESTimelineTitleSource 2010-06-15 13:14:14 +0200 Brandon Lewis * tests/check/Makefile.am: * tests/check/ges/titles.c: check in unit tests for titles 2010-06-14 19:19:23 +0200 Brandon Lewis * 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 * 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 * docs/libs/ges-sections.txt: massive update to documentation 2010-06-14 17:52:09 +0200 Brandon Lewis * 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 * 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 * 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 * tests/check/ges/backgroundsource.c: don't forget to unref objects in unit tests 2010-06-11 17:21:45 +0200 Brandon Lewis * ges/ges.h: * tests/check/ges/backgroundsource.c: test vpatern property in unit tests 2010-06-11 17:02:55 +0200 Brandon Lewis * ges/ges-track-audio-background-source.c: make audio background-sources output silence 2010-06-11 16:55:31 +0200 Brandon Lewis * 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 * ges/ges-timeline-background-source.c: don't initialize vpattern field 2010-06-11 16:51:44 +0200 Brandon Lewis * 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 * ges/ges-timeline-background-source.c: move enum table into file scope 2010-06-11 15:28:43 +0200 Brandon Lewis * tools/ges-launch.c: rewrite print_pattern_list to use GEnumValues 2010-06-11 15:28:17 +0200 Brandon Lewis * tools/ges-launch.c: remove unnecessary g_print 2010-06-11 15:19:28 +0200 Brandon Lewis * tools/ges-launch.c: switch to using GESTimelineBackgroundSource objects for patterns 2010-06-11 15:18:17 +0200 Brandon Lewis * ges/ges-timeline-background-source.c: set pattern on newly-created video track objects 2010-06-11 15:17:42 +0200 Brandon Lewis * ges/ges-timeline-background-source.c: implement vpattern gobject property of tl background source 2010-06-11 15:16:40 +0200 Brandon Lewis * 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 * ges/ges-timeline-background-source.h: add vpattern field to GESTimelineBackground source 2010-06-11 15:14:40 +0200 Brandon Lewis * 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 * 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 * ges/ges-track-video-background-source.h: add enum for video patterns 2010-06-11 13:40:54 +0200 Brandon Lewis * tests/check/ges/backgroundsource.c: test Backgroudn sources in layers 2010-06-11 10:42:00 +0200 Brandon Lewis * ges/ges-timeline-background-source.c: implment GESTimelineBackground source create_track_object 2010-06-11 10:40:02 +0200 Brandon Lewis * ges/Makefile.am: add audio background source to build system 2010-06-11 10:39:14 +0200 Brandon Lewis * ges/ges-types.h: add audio background source to types.h 2010-06-11 10:37:49 +0200 Brandon Lewis * 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 * ges/Makefile.am: * ges/ges-types.h: add ges video-track background to build system 2010-06-10 13:21:47 +0200 Brandon Lewis * 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 * ges/Makefile.am: add GESTrackBackgroundSource to build system 2010-06-10 17:42:09 +0200 Brandon Lewis * ges/ges.h: add track background source to header 2010-06-10 17:43:56 +0200 Brandon Lewis * ges/ges-types.h: add track background source to ges-types.h 2010-06-10 13:51:33 +0200 Brandon Lewis * ges/ges-track-background-source.c: * ges/ges-track-background-source.h: check in GESTrackBackgroundSource 2010-06-10 13:23:59 +0200 Brandon Lewis * ges/Makefile.am: * ges/ges-types.h: add GESTimelineBackgroundSource to build system 2010-06-10 17:41:57 +0200 Brandon Lewis * ges/ges.h: add timeline background source to header 2010-06-10 13:22:36 +0200 Brandon Lewis * tests/check/Makefile.am: * tests/check/ges/backgroundsource.c: check in background source unit test 2010-06-10 13:21:06 +0200 Brandon Lewis * 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 * tests/examples/simple1.c: * tests/examples/transition.c: tests: Add for exit usage 2010-07-07 01:21:38 -0300 Thiago Santos * 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 * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Fix leaked caps 2010-06-21 11:54:01 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: unref all pads 2010-06-21 11:53:30 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Make a copy of the provided GstEncodingProfile 2010-06-21 11:52:49 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Properly release playsink and encodebin 2010-06-21 11:52:01 +0200 Edward Hervey * 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 * tools/ges-launch.c: ges-launch: Don't leak caps 2010-06-21 11:47:21 +0200 Edward Hervey * tools/ges-launch.c: ges-launch: Properly free profile and outputuri 2010-06-17 11:45:27 +0200 Edward Hervey * tools/ges-launch.c: ges-launch: Cleanup profile 2010-06-14 19:40:50 +0200 Edward Hervey * 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 * common: Update to latest common 2010-06-11 19:34:39 +0200 Edward Hervey * tests/examples/transition.c: examples: Fix debug statement 2010-06-10 16:19:11 +0200 Brandon Lewis * 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 * ges/ges-track-transition.c: don't keep an extra reference to vsmpte 2010-06-10 12:52:41 +0200 Brandon Lewis * tests/check/ges/simplelayer.c: add elemt. to bin in arbitrary_fill_track_func 2010-06-09 18:57:59 +0200 Brandon Lewis * tests/check/ges/simplelayer.c: fix typos in comment block 2010-06-09 18:56:55 +0200 Brandon Lewis * ges/ges-simple-timeline-layer.c: gstl_recalculate() won't set priorities to -1 2010-06-09 16:35:17 +0200 Brandon Lewis * 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 * tools/ges-launch.c: tools/ges-launch.c: C90 fixes 2010-06-09 17:09:10 +0200 Brandon Lewis * tests/examples/transition.c: tests/examples/transition.c: C90 fixes 2010-06-09 17:08:31 +0200 Brandon Lewis * tests/examples/test4.c: tests/examples/test4.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * tests/examples/concatenate.c: tests/check/ges/concatenate.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * tests/check/ges/transition.c: tests/check/ges/transition.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * tests/check/ges/simplelayer.c: tests/check/ges/simplelayer.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * tests/check/ges/filesource.c: tests/check/ges/filesource.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-utils.h: ges/ges-utils.h: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-track.h: ges/ges-track.h: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-track.c: ges/ges-track.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-track-transition.c: ges/ges-track-transition.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-track-object.c: ges/ges-track-object.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-timeline-transition.c: ges/ges-timeline-transition.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-timeline-object.c: ges/ges-timeline-object.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-timeline-layer.c: ges/ges-timeline-layer.c: C90 fixes 2010-06-09 16:27:43 +0200 Brandon Lewis * ges/ges-simple-timeline-layer.c: ges/ges-simple-timeline-layer.c: C90 fixes 2010-06-09 13:53:32 +0200 Edward Hervey * 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 * ges/ges-track-transition.c: GESTrackTransition: Fix debug statement 2010-06-09 13:52:35 +0200 Edward Hervey * ges/ges-timeline.c: GESTimeline: Remove all tracks/layers when being disposed 2010-06-09 13:52:08 +0200 Edward Hervey * ges/ges-timeline-layer.c: GESTimelineLayer: Release all layer/tracks when being disposed 2010-06-09 11:22:05 +0200 Brandon Lewis * 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 * 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 * common: common: Update to latest submodule revision 2010-06-08 18:38:44 +0200 Edward Hervey * 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 * tests/check/ges/transition.c: check: Use release_track_object instead of unref 2010-06-08 18:37:01 +0200 Edward Hervey * ges/ges-track-transition.c: GESTrackTransition: Unref the ControlSource in dispose 2010-06-08 18:36:37 +0200 Edward Hervey * ges/ges.c: ges: Initialize GstController in ges_init 2010-06-04 19:53:35 +0200 Brandon Lewis * 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 * 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 * 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 * tests/examples/.gitignore: * tools/.gitignore: tools/examples: Ignore more files 2010-06-04 17:50:42 +0200 Edward Hervey * 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 * 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 * tests/examples/playlist.c: tests/examples/playlist.c: clean up playlist help text 2010-06-03 19:14:41 +0200 Brandon Lewis * tests/examples/playlist.c: tests/examples/playlist.c: better sanity checking of arguments 2010-06-03 19:13:42 +0200 Brandon Lewis * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tests/check/Makefile.am: tests/check/Makefile.am: add transition unit tests to make check 2010-06-02 12:34:57 +0200 Brandon Lewis * tests/check/ges/transition.c: tests/check/ges/transition.c: check in transition unit tests 2010-06-01 13:22:05 +0200 Brandon Lewis * ges/ges-track-filesource.h: ges/ges-track-filesource.h: fix typo in documentation commments 2010-06-01 11:57:42 +0200 Brandon Lewis * 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 * 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 * 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 * ges/ges-track-transition.c: ges/ges-track-transition.c: implement audio crossfades 2010-05-31 15:38:14 +0200 Brandon Lewis * 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 * ges/ges-simple-timeline-layer.c: * tests/check/ges/simplelayer.c: fix bugs 2010-05-28 03:02:49 +0200 Brandon Lewis * 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 * 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 * 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 * tests/examples/playlist.c: tests/examples/playlist.c: fix inappropriate down-casts in playlist.py 2010-05-28 00:12:45 +0200 Brandon Lewis * ges/ges-track-transition.c: ges/ges-track-transition.c: give gnloperations a unique name 2010-05-28 00:11:51 +0200 Brandon Lewis * 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 * 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 * 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 * 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 * tests/examples/playlist.c: tests/examples/playlist.c: add transitions to playlist example 2010-05-27 12:04:05 +0200 Brandon Lewis * tests/examples/transition.c: tests/examples/transition.c: use ges_timeline_transition_new_from_nick() 2010-05-27 12:02:10 +0200 Brandon Lewis * 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 * tests/examples/playlist.c: tests/examples/playlist.c: re-work pattern command line syntax 2010-05-26 16:57:59 +0200 Brandon Lewis * tests/examples/transition.c: ests/examples/transition.c: create transition with specified type 2010-05-26 16:36:24 +0200 Brandon Lewis * 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 * 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 * tests/examples/transition.c: tests/examples/transition.c: pass transition type to make_timeline 2010-05-26 13:05:18 +0200 Brandon Lewis * 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 * tests/examples/transition.c: tests/examples/transition.c: add routines for identifying transitions 2010-05-26 11:38:19 +0200 Brandon Lewis * tests/examples/transition.c: tests/examples/transition.c: split out "make_timeline" into separate routine 2010-05-26 10:48:13 +0200 Brandon Lewis * tests/examples/transition.c: tests/examples/transition.c: remove some cruft from transition example 2010-05-25 19:10:27 +0200 Brandon Lewis * tests/examples/transition.c: tests/examples/transition.c: print values in seconds not nseconds 2010-05-25 19:07:21 +0200 Brandon Lewis * 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 * ges/ges-track-transition.h: ges-track-transition.c: GstControlSource -> GstInterpolationControlSource 2010-05-25 16:44:58 +0200 Brandon Lewis * tests/examples/transition.c: tests/examples/transition.c: cast arguments to g_object_set 2010-05-25 16:42:47 +0200 Brandon Lewis * ges/ges-track-transition.c: ges-track-transition.c: create gst-controller for transition 2010-05-25 16:41:53 +0200 Brandon Lewis * 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 * configure.ac: * ges/Makefile.am: depend on GST_CONTROLLER 2010-05-25 13:44:57 +0200 Brandon Lewis * 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 * tests/examples/transition.c: tests/examples/transition.c: create transition when duration > 0 2010-05-24 17:39:45 +0200 Brandon Lewis * tests/examples/Makefile.am: dist transition.c 2010-05-24 17:39:07 +0200 Brandon Lewis * tests/examples/transition.c: check in single transition demo 2010-05-24 14:58:55 +0200 Brandon Lewis * ges/ges-types.h: ges/ges-types.h: add typedefs for GESTrackTransition[Class] structs 2010-05-24 14:57:12 +0200 Brandon Lewis * ges/ges-track-transition.h: ges-track-transition.h: fix typo 2010-05-24 14:55:53 +0200 Brandon Lewis * ges/Makefile.am: ges/Makefile.am: dist ges-track-transition.c,h 2010-05-24 13:08:32 +0200 Brandon Lewis * ges/ges-track-transition.c: * ges/ges-track-transition.h: skeletal implementation of GESTrackTransition 2010-05-24 12:34:36 +0200 Brandon Lewis * ges/ges-track-transition.h: check-in ges-track-transition.h 2010-05-24 10:59:43 +0200 Brandon Lewis * tests/examples/playlist.c: playlist.c: working pattern sources 2010-06-02 11:49:08 +0200 Edward Hervey * 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 * ges/ges-timeline.c: GESTimeline: Freeze state of Tracks when doing an async state change 2010-05-20 10:46:38 +0200 Edward Hervey * 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 * 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 * tests/examples/.gitignore: examples: Ignore some files 2010-05-20 12:29:30 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Only remove the playsink if it was used 2010-05-19 15:50:51 +0200 Edward Hervey * docs/libs/Makefile.am: docs: Use proper CFLAGS/LIBS when building docs 2010-05-19 15:50:41 +0200 Edward Hervey * ges/ges-timeline.c: GESTimeline: Remove unused variable 2010-05-19 12:39:23 +0200 Edward Hervey * tests/check/ges/.gitignore: * tests/examples/.gitignore: tests: ignore more files 2010-05-19 12:38:21 +0200 Edward Hervey * 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 * 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 * 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 * 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 * 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 * configure.ac: * ges/Makefile.am: configure: Depend on gstreamer-discoverer 2010-05-18 17:43:28 +0200 Edward Hervey * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Fix 32bit runtime issues 2010-05-07 13:30:07 +0200 Edward Hervey * 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 * 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 * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Remove unused variable/label. 2010-04-20 13:41:20 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Cleanup properly when pads are removed 2010-04-20 13:26:00 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Implement smart rendering 2010-04-20 13:08:27 +0200 Edward Hervey * 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 * tests/check/Makefile.am: check: Use GST_CFLAGS so we get new compilation flags 2010-04-20 13:00:38 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: * ges/ges-timeline-pipeline.h: GESTimelinePipeline: Store encoding profile 2010-04-20 12:59:26 +0200 Edward Hervey * ges/ges-timeline-pipeline.h: GESTimelinePipeline: New Smart Render mode 2010-04-20 12:57:53 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: new functions to search/create OutputChain 2010-04-20 12:53:51 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Remove unused code 2010-04-20 12:50:34 +0200 Edward Hervey * 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 * ges/ges-timeline-pipeline.c: * ges/ges-timeline.c: GESTimeLine(PipeLine): remove additional unref 2010-04-20 12:47:22 +0200 Edward Hervey * 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 * ges/Makefile.am: ges: Link gstprofile 2010-04-20 11:48:21 +0200 Edward Hervey * 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 * 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 * 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 * ges/ges-timeline-object.h: GESTimelineObject: Fix doc of priority property 2010-03-13 15:51:16 +0100 Edward Hervey * ges/ges-track-filesource.c: GESTrackFileSource: Don't forget to free the URI string 2010-03-12 19:07:15 +0100 Edward Hervey * 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 * 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 * ges/ges-timeline.c: GESTimeline: Properly iterate TrackObject lists when removing them 2010-03-12 19:05:36 +0100 Edward Hervey * tests/check/ges/basic.c: tests: Check refcount of created trackobjects 2010-03-13 15:52:14 +0100 Edward Hervey * 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 * 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 * 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 * common: common: Update to latest common 2010-03-11 11:06:50 +0100 Edward Hervey * .gitignore: * tests/check/ges/.gitignore: * tests/examples/.gitignore: ignore more files 2010-03-05 16:10:13 +0100 Edward Hervey * tests/examples/Makefile.am: examples: Fix linking/include order 2010-03-05 15:50:49 +0100 Edward Hervey * 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 * tests/examples/Makefile.am: examples: Use profile LIBS and fix a typo with GST_LIBS 2010-02-09 17:44:54 +0100 Edward Hervey * configure.ac: configure.ac: gst-profile is now a standalone pkgconfig 2010-01-20 11:09:56 +0100 Jarkko Pallviainen * tests/examples/test1.c: examples: Fix build on 32bit systems 2010-01-08 18:21:08 +0100 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Add comment for _set_render_settings 2010-01-08 18:16:16 +0100 Edward Hervey * 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 * 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 * configure.ac: configure.ac: detect gst-convenience 2009-12-11 15:24:56 +0100 Edward Hervey * 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 * 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 * 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 * 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 * 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 * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Sync state of newly added element to container 2009-12-09 15:03:30 +0100 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Don't forget to remember the mode 2009-12-09 15:03:15 +0100 Edward Hervey * ges/ges-timeline-file-source.c: GESTimelineFileSource: Properly handle mute mute != active 2009-12-09 12:22:34 +0100 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: More render support 2009-12-04 10:49:32 +0100 Edward Hervey * 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 * 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 * AUTHORS: AUTHORS: Add myself 2009-11-25 13:13:49 +0100 Edward Hervey * ges/ges-timeline-file-source.c: timelinefilesource: Free URI when finalizing 2009-11-25 13:11:32 +0100 Edward Hervey * ges/ges-track-object.c: trackobject: priority is a uint32 2009-11-25 12:53:13 +0100 Edward Hervey * tests/check/ges/timelineobject.c: tests: release TrackObject when we're done with it 2009-11-25 12:52:50 +0100 Edward Hervey * 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 * ges/ges-timeline-object.c: TimelineObject: Add missing argument to printf statement 2009-11-25 11:55:50 +0100 Edward Hervey * ges/ges-custom-timeline-source.c: customtimelinesource: Fix indentation 2009-11-25 11:14:02 +0100 Edward Hervey * docs/working-diagrams.svg: docs: updates to working diagram, still needs more love 2009-11-15 18:23:33 +0100 Edward Hervey * 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 * 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 * docs/design/gstprofile.h: docs: Update to gstprofile header 2009-11-09 15:55:06 +0100 Edward Hervey * .gitignore: ignore more files 2009-11-09 15:54:18 +0100 Edward Hervey * 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 * common: update common submodule version used 2009-10-22 17:37:54 +0200 Edward Hervey * docs/libs/ges-sections.txt: docs: Add missing symbol to documentation 2009-10-19 18:32:23 +0200 Edward Hervey * 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 * 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 * tests/check/Makefile.am: * tests/check/ges/timelineobject.c: tests: New unit test for GESTimelineObject 2009-09-30 16:44:41 +0200 Edward Hervey * ges/ges-timeline-object.c: GESTimelineObject: First set the duration and priority before the inpoint. 2009-09-30 16:44:12 +0200 Edward Hervey * 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 * 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 * ges/ges-track-object.h: GESTrackObject: Add convenience macros for accessing properties 2009-09-30 16:42:08 +0200 Edward Hervey * ges/ges-track-object.c: GESTrackObject: Set sane default values 2009-09-30 16:40:59 +0200 Edward Hervey * 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 * 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 * tests/check/Makefile.am: * tests/check/ges/simplelayer.c: tests/check: Add test for GESSimpleTimelineLayer 2009-09-29 15:27:55 +0200 Edward Hervey * 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 * ges/ges-timeline-layer.h: ges-timeline-layer.h: Add comment 2009-09-29 15:25:54 +0200 Edward Hervey * 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 * 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 * tests/check/Makefile.am: * tests/check/ges/filesource.c: tests/check: New test for GESTimelineFileSource 2009-09-21 12:51:16 +0200 Edward Hervey * 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 * 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 * docs/libs/ges-docs.sgml: docs: Add index and object hierarchy 2009-09-14 19:45:43 +0200 Edward Hervey * tests/check/ges/basic.c: tests: Make basic test check for proper reference counting. 2009-09-14 19:44:03 +0200 Edward Hervey * ges/ges-track.c: GESTrack: The track steals the refcount to the caps. document that. 2009-09-14 19:42:58 +0200 Edward Hervey * docs/libs/.gitignore: docs/libs: ignore more files 2009-09-14 19:24:28 +0200 Edward Hervey * ges/ges-timeline.c: GESTimeline: Fix reference counting of tracks, add docs. 2009-09-14 19:23:52 +0200 Edward Hervey * ges/ges-timeline-layer.c: GESTimelineLayer: Fix reference handling of objects, add docs. 2009-09-14 19:23:21 +0200 Edward Hervey * configure.ac: configure.ac: Require latest gst-plugins-base for 'playsink' 2009-09-14 17:00:13 +0200 Edward Hervey * ges/ges-timeline.h: GESTimeline: start more documentation 2009-09-14 16:33:25 +0200 Edward Hervey * 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 * docs/libs/ges-sections.txt: * ges/ges-track.c: GESTrack: document more 2009-09-10 18:17:38 +0100 Tim-Philipp Müller * 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 * tests/examples/test1.c: Document first high-level demo. 2009-09-10 18:40:51 +0200 Edward Hervey * 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 * docs/random/scenarios: docs: move working document 2009-09-10 16:22:00 +0200 Edward Hervey * 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 * tests/examples/test1.c: test1: Expand example to also use an audio track. 2009-09-09 15:51:52 +0200 Edward Hervey * ges/ges-timeline.c: GESTimeline: Make sure added ghostpads are unique. 2009-09-09 13:57:37 +0200 Edward Hervey * tests/examples/test1.c: test1: Actually change videotestsrc patterns to make changes obvious. 2009-09-09 13:55:30 +0200 Edward Hervey * tests/examples/test1.c: test1: Use mainloop, required for proper gnonlin behaviour. 2009-09-09 12:42:29 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: GESTimelinePipeline: Reconfigure playsink once we've added a pad. 2009-09-08 19:46:54 +0200 Edward Hervey * 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 * tests/check/ges/basic.c: test/ges/basic: Adapt to API changes. 2009-09-08 19:45:08 +0200 Edward Hervey * 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 * 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 * .gitignore: gitignore: Ignore more files 2009-09-08 18:49:22 +0200 Edward Hervey * 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 * ges/ges-custom-timeline-source.c: CustomTimelineSource: Fix typo in debug statement 2009-09-07 15:46:44 +0200 Edward Hervey * ges/ges-timeline-pipeline.c: * ges/ges-timeline-pipeline.h: GESTimelinePipeline: Fix typo 2009-08-07 20:33:40 +0200 Edward Hervey * ges/ges-track-object.c: TrackObject: Add debugging and make default duration 1s 2009-08-07 20:33:18 +0200 Edward Hervey * 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 * ges/ges-track.c: * ges/ges-track.h: Track: Handle pads 2009-08-07 20:32:29 +0200 Edward Hervey * 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 * 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 * 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 * 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 * 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 * ges/ges-track.c: Track: Add/Remove the GnlComposition from ourself. 2009-08-07 16:47:18 +0200 Edward Hervey * tests/check/ges/basic.c: tests/ges/basic: Extend test to remove the object. 2009-08-07 16:46:57 +0200 Edward Hervey * ges/ges-track-source.h: TrackSource: Include TrackObject header file 2009-08-07 16:46:35 +0200 Edward Hervey * ges/ges.c: ges.c: Add debug line to inform of initialization 2009-08-07 16:45:16 +0200 Edward Hervey * 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 * ges/ges-track.c: * ges/ges-track.h: Track: Implement remove_object() 2009-08-07 16:43:01 +0200 Edward Hervey * 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 * ges/ges-timeline.c: Timeline: Implement remove_track, remove_layer, and _layer_object_removed_cb 2009-08-07 16:40:51 +0200 Edward Hervey * 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 * ges/ges-timeline-object.c: * ges/ges-timeline-object.h: TimelineObject: Implement _release_track_object() 2009-08-07 16:39:09 +0200 Edward Hervey * ges/ges-timeline-layer.c: * ges/ges-timeline-layer.h: TimelineLayer: Implement _remove_object() 2009-08-06 20:04:59 +0200 Edward Hervey * tests/check/ges/basic.c: tests: Add a simple scenario 2009-08-06 19:59:25 +0200 Edward Hervey * 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 * 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 * 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 * 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 * ges/Makefile.am: * ges/gesmarshal.list: Add signal marshalling code 2009-08-06 12:14:37 +0200 Edward Hervey * 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 * 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 * 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 * README: README: Mention license 2009-08-04 19:21:49 +0200 Edward Hervey * .gitignore: .gitignore: ignore cruft 2009-08-04 17:16:31 +0200 Edward Hervey * .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 !!!! :)