platform/upstream/gstreamer.git
8 years agomeson: doc: Fix building documentation when using subprojects
Thibault Saunier [Thu, 25 Aug 2016 18:04:54 +0000 (15:04 -0300)]
meson: doc: Fix building documentation when using subprojects

And check the presence of gtk-doc before building the documentation

8 years agoges: Rename parse_lex.h to ges-parse-lex.h
Sebastian Dröge [Thu, 25 Aug 2016 07:06:51 +0000 (10:06 +0300)]
ges: Rename parse_lex.h to ges-parse-lex.h

Fixes the build and makes it consistent with the meson build system.

8 years agoAdd support for Meson as alternative/parallel build system
Thibault Saunier [Thu, 4 Aug 2016 21:33:55 +0000 (17:33 -0400)]
Add support for Meson as alternative/parallel build system

https://github.com/mesonbuild/meson

8 years agoges-track-element: fix typos in control_binding_removed signal declaration
Philippe Renon [Thu, 18 Aug 2016 16:43:08 +0000 (18:43 +0200)]
ges-track-element: fix typos in control_binding_removed signal declaration

https://bugzilla.gnome.org/show_bug.cgi?id=770101

8 years agovalidate: Blacklist racy tests
Edward Hervey [Sun, 14 Aug 2016 15:45:16 +0000 (17:45 +0200)]
validate: Blacklist racy tests

See https://bugzilla.gnome.org/show_bug.cgi?id=769894

8 years agoges-timeline: Demote some debugging statements
Edward Hervey [Sun, 14 Aug 2016 15:44:36 +0000 (17:44 +0200)]
ges-timeline: Demote some debugging statements

locking should be in a lower level to avoid too many messages

8 years agotimeline-element: Reset pointer after freeing
Edward Hervey [Sat, 13 Aug 2016 09:08:34 +0000 (11:08 +0200)]
timeline-element: Reset pointer after freeing

dispose can be called multiple times, make sure we don't call functions
on free'd pointers.

8 years agoges: Do not rescale videos if the track aspect ratio changes
Thibault Saunier [Wed, 3 Aug 2016 15:40:30 +0000 (11:40 -0400)]
ges: Do not rescale videos if the track aspect ratio changes

Differential Revision: https://phabricator.freedesktop.org/D1242

8 years agoges: Let the compositor do the scaling if mixing is enabled
Thibault Saunier [Tue, 2 Aug 2016 20:42:20 +0000 (16:42 -0400)]
ges: Let the compositor do the scaling if mixing is enabled

Differential Revision: https://phabricator.freedesktop.org/D1241

8 years agotests:validate: Also test opus and theora in OGG
Thibault Saunier [Mon, 1 Aug 2016 16:55:07 +0000 (12:55 -0400)]
tests:validate: Also test opus and theora in OGG

8 years agovalidate: Start also testing jpeg encoding
Thibault Saunier [Fri, 29 Jul 2016 19:48:28 +0000 (15:48 -0400)]
validate: Start also testing jpeg encoding

8 years agotimeline: Keep transitions when moving the moving context between layers
Thibault Saunier [Fri, 29 Jul 2016 01:50:58 +0000 (21:50 -0400)]
timeline: Keep transitions when moving the moving context between layers

Differential Revision: https://phabricator.freedesktop.org/D1225

8 years agoges-launcher: don't leak project uri string
Justin Kim [Thu, 15 Oct 2015 22:13:30 +0000 (22:13 +0000)]
ges-launcher: don't leak project uri string

ges_project_get_uri returns a cloned string so it should
be free'd after usage.

Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D381

8 years agotimeline: Ripple from start of clips and not the end.
Thibault Saunier [Thu, 28 Jul 2016 23:30:28 +0000 (19:30 -0400)]
timeline: Ripple from start of clips and not the end.

Fixes https://phabricator.freedesktop.org/T7503

8 years agoenums: Fix absolute text overlay alignment value
Thibault Saunier [Thu, 28 Jul 2016 21:23:31 +0000 (17:23 -0400)]
enums: Fix absolute text overlay alignment value

It needs to be in sync with GstBaseTextOverlayHAlign order.

8 years agotitle-source: Properly implement GESTimelineElement->lookup_child
Thibault Saunier [Thu, 28 Jul 2016 20:04:42 +0000 (16:04 -0400)]
title-source: Properly implement GESTimelineElement->lookup_child

GESTrackElement->lookup_child is deprecated and should be avoided
as much as possible.

8 years agoclip: Reimplement look_child and iterate over children if needed
Thibault Saunier [Thu, 28 Jul 2016 20:02:05 +0000 (16:02 -0400)]
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.

8 years agotools: Fix printing commands help
Thibault Saunier [Thu, 28 Jul 2016 18:24:07 +0000 (14:24 -0400)]
tools: Fix printing commands help

8 years agoges:validate: Check that no extra decoding happens
Thibault Saunier [Tue, 26 Jul 2016 18:05:06 +0000 (14:05 -0400)]
ges:validate: Check that no extra decoding happens

8 years agouri-sources: Make sure to set decodebin 'caps' property
Thibault Saunier [Tue, 26 Jul 2016 15:59:39 +0000 (11:59 -0400)]
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

8 years agotimeline: Emit snap-ended on commit if needed
Thibault Saunier [Sun, 24 Jul 2016 12:32:06 +0000 (08:32 -0400)]
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

8 years agofixed ges-version.h not found issue during out of tree build
Mohan R [Sun, 26 Jun 2016 06:53:40 +0000 (12:23 +0530)]
fixed ges-version.h not found issue during out of tree build

8 years agoimage-source: Do not concider inpoints
Thibault Saunier [Fri, 22 Jul 2016 11:32:51 +0000 (07:32 -0400)]
image-source: Do not concider inpoints

We have no restriction on inpoint for Images

Differential Revision: https://phabricator.freedesktop.org/D1202

8 years agotests:validate: Better choose tested rendering formats
Thibault Saunier [Fri, 15 Jul 2016 12:57:28 +0000 (08:57 -0400)]
tests:validate: Better choose tested rendering formats

8 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 11 Jul 2016 19:16:11 +0000 (21:16 +0200)]
Automatic update of common submodule

From f363b32 to f49c55e

8 years agoBack to development
Sebastian Dröge [Wed, 6 Jul 2016 10:51:18 +0000 (13:51 +0300)]
Back to development

8 years agoRelease 1.9.1
Sebastian Dröge [Wed, 6 Jul 2016 10:45:17 +0000 (13:45 +0300)]
Release 1.9.1

8 years agoges-launch: unref GApplication properly
Justin Kim [Wed, 29 Jun 2016 00:39:02 +0000 (00:39 +0000)]
ges-launch: unref GApplication properly

Differential Revision: https://phabricator.freedesktop.org/D380

8 years agoproject_: improve get_uri doc
Justin Kim [Wed, 29 Jun 2016 00:38:36 +0000 (00:38 +0000)]
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

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Tue, 21 Jun 2016 15:49:14 +0000 (11:49 -0400)]
Automatic update of common submodule

From ac2f647 to f363b32

8 years agotests: Make sure to run python tests against the build in tree
Thibault Saunier [Tue, 21 Jun 2016 01:29:44 +0000 (21:29 -0400)]
tests: Make sure to run python tests against the build in tree

8 years agoges: Don't remove track elements from clips when removing from layer
Thibault Saunier [Sat, 18 Jun 2016 20:16:00 +0000 (16:16 -0400)]
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

8 years agotitle_: Do not forget to link up child_added/removed vmethod
Thibault Saunier [Mon, 20 Jun 2016 18:00:07 +0000 (14:00 -0400)]
title_: Do not forget to link up child_added/removed vmethod

Otherwise effect handling is broken

Differential Revision: https://phabricator.freedesktop.org/D1099

8 years agoauto-transitions: Do not remove auto transitions when moving neighboor from the same...
Thibault Saunier [Mon, 20 Jun 2016 00:02:06 +0000 (20:02 -0400)]
auto-transitions: Do not remove auto transitions when moving neighboor from the same group

Differential Revision: https://phabricator.freedesktop.org/D1097

8 years agoges: fix various leaks with usage of ges_timeline_element_lookup_child
Aurélien Zanelli [Sat, 14 May 2016 17:33:05 +0000 (19:33 +0200)]
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

8 years agovideo-track: don't leak restriction caps in _sync_capsfilter_with_track()
Aurélien Zanelli [Sat, 14 May 2016 17:02:57 +0000 (19:02 +0200)]
video-track: don't leak restriction caps in _sync_capsfilter_with_track()

https://bugzilla.gnome.org/show_bug.cgi?id=766450

8 years agoges-uri-asset: GstDiscoverer can return a valid info but a non-OK result, consider...
Sebastian Dröge [Mon, 6 Jun 2016 14:44:15 +0000 (17:44 +0300)]
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

8 years agonlecomposition: Fix race condition in seek handling causing deadlocks
Sebastian Dröge [Tue, 31 May 2016 09:09:44 +0000 (12:09 +0300)]
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

8 years agoges: Emit GESMetontainer::notify-meta even if value is unset
Thibault Saunier [Tue, 31 May 2016 13:29:44 +0000 (09:29 -0400)]
ges: Emit GESMetontainer::notify-meta even if value is unset

8 years agoges: Allow passing `NULL` as a value to ges_meta_container_set_meta
Thibault Saunier [Mon, 30 May 2016 14:51:51 +0000 (10:51 -0400)]
ges: Allow passing `NULL` as a value to ges_meta_container_set_meta

Fixes T7430

8 years agog-i: pass compiler env to g-ir-scanner
Tim-Philipp Müller [Wed, 25 May 2016 09:32:46 +0000 (10:32 +0100)]
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).

8 years agouri-clip: make uri parameter of ges_uri_clip_new () const
Aurélien Zanelli [Mon, 16 May 2016 10:06:37 +0000 (12:06 +0200)]
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

8 years agoframepositionner: add a weak ref on track element to know when it is finalized
Aurélien Zanelli [Mon, 16 May 2016 10:53:32 +0000 (12:53 +0200)]
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

8 years agoaudio-source: unref private capsfilter reference on dispose
Aurélien Zanelli [Mon, 16 May 2016 15:36:36 +0000 (17:36 +0200)]
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

8 years agoaudio-source: fix indentation
Aurélien Zanelli [Mon, 16 May 2016 15:35:29 +0000 (17:35 +0200)]
audio-source: fix indentation

https://bugzilla.gnome.org/show_bug.cgi?id=766524

8 years agonlecomposition: ensure elements pending to be added are not leaked
Aurélien Zanelli [Sat, 7 May 2016 18:29:22 +0000 (20:29 +0200)]
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

8 years agonlecomposition: fix nle_composition_remove_object info message
Aurélien Zanelli [Sat, 14 May 2016 16:06:56 +0000 (18:06 +0200)]
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

8 years agoges: add some g-i annotations according to documentation
Aurélien Zanelli [Sat, 14 May 2016 23:04:17 +0000 (01:04 +0200)]
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

8 years agoasset: fix ges_asset_set_proxy() return value documentation
Aurélien Zanelli [Sat, 14 May 2016 23:03:49 +0000 (01:03 +0200)]
asset: fix ges_asset_set_proxy() return value documentation

https://bugzilla.gnome.org/show_bug.cgi?id=766459

8 years agoelement: Also accept GParamSpec.owner_type name as a child property prefix
Thibault Saunier [Sat, 7 May 2016 01:28:26 +0000 (22:28 -0300)]
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.

8 years agotrack-element: gi: skip now deprecated children property getter/setter
Thibault Saunier [Fri, 6 May 2016 21:21:17 +0000 (18:21 -0300)]
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.

8 years agoformatter: Prefix all children properties in the XML formatter
Thibault Saunier [Fri, 6 May 2016 18:44:28 +0000 (15:44 -0300)]
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

8 years agoges: Remove timeline_emit_group_removed which slipped in the API by mistake
Thibault Saunier [Fri, 6 May 2016 18:18:50 +0000 (15:18 -0300)]
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.

8 years agocontainer: Handle setting children properties that need prefixing
Thibault Saunier [Fri, 29 Apr 2016 14:36:00 +0000 (11:36 -0300)]
container: Handle setting children properties that need prefixing

8 years agovideo-source: Expose deinterlace-[fields, mode, tff] child properties
Thibault Saunier [Fri, 29 Apr 2016 13:29:00 +0000 (10:29 -0300)]
video-source: Expose deinterlace-[fields, mode, tff] child properties

Letting some control over the deinterlacing to the users

8 years agoges: fix misc g-i annotations
Tim-Philipp Müller [Sat, 30 Apr 2016 17:38:33 +0000 (18:38 +0100)]
ges: fix misc g-i annotations

8 years agog-i: use only "ges/ges.h" as c-include for introspection
Aurélien Zanelli [Sat, 30 Apr 2016 16:20:00 +0000 (18:20 +0200)]
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

8 years agotimeline: rename "track-element" to "track_element" in select-tracks-for-object docum...
Aurélien Zanelli [Sat, 30 Apr 2016 14:43:26 +0000 (16:43 +0200)]
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

8 years agovideo-source: Do not ever plugin avdeinterlace
Thibault Saunier [Fri, 29 Apr 2016 13:05:10 +0000 (10:05 -0300)]
video-source: Do not ever plugin avdeinterlace

It is not feature compatible with deinterlace and is not safe to use

8 years agoges: #include glib.h for G_BEGIN_DECLS
Sebastian Dröge [Thu, 28 Apr 2016 10:39:41 +0000 (13:39 +0300)]
ges: #include glib.h for G_BEGIN_DECLS

8 years agoges-multi-file-source: Fix case of standard gobject macros
Sebastian Dröge [Thu, 28 Apr 2016 10:39:27 +0000 (13:39 +0300)]
ges-multi-file-source: Fix case of standard gobject macros

8 years agoges: Add some more functions to the docs and don't scan internal headers
Sebastian Dröge [Thu, 28 Apr 2016 10:37:49 +0000 (13:37 +0300)]
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.

8 years agoges: Add G_BEGIN_DECLS around all relevant declarations in headers
Sebastian Dröge [Mon, 25 Apr 2016 12:11:00 +0000 (15:11 +0300)]
ges: Add G_BEGIN_DECLS around all relevant declarations in headers

8 years agotitle: Do not concider inpoints
Thibault Saunier [Fri, 22 Apr 2016 19:06:50 +0000 (16:06 -0300)]
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

8 years agoAutomatic update of common submodule
Julien Isorce [Thu, 14 Apr 2016 09:05:16 +0000 (10:05 +0100)]
Automatic update of common submodule

From 6f2d209 to ac2f647

8 years agotests: Rename positionner to positioner in the tests too
Sebastian Dröge [Wed, 13 Apr 2016 09:32:53 +0000 (12:32 +0300)]
tests: Rename positionner to positioner in the tests too

8 years agoges: Fix typo by renaming positionner to positioner
Sebastian Dröge [Wed, 13 Apr 2016 09:31:05 +0000 (12:31 +0300)]
ges: Fix typo by renaming positionner to positioner

It's fortunately private API

8 years agoframepositionner: Initialize all fields of the meta during initialization
Sebastian Dröge [Wed, 13 Apr 2016 09:26:13 +0000 (12:26 +0300)]
framepositionner: Initialize all fields of the meta during initialization

GstMetas are not allocated with all fields initialized to zeroes.

8 years agoges: Do not try to set read only properties
Thibault Saunier [Sun, 10 Apr 2016 00:12:00 +0000 (21:12 -0300)]
ges: Do not try to set read only properties

When copying and splitting clips

Fixes T7375

8 years agotransition: Lower done some debug loggin level
Thibault Saunier [Sat, 9 Apr 2016 21:13:33 +0000 (18:13 -0300)]
transition: Lower done some debug loggin level

8 years agoMinor fix
Thibault Saunier [Sun, 27 Mar 2016 21:40:16 +0000 (23:40 +0200)]
Minor fix

8 years agotitlesource: Add support for absolute positionning
Thibault Saunier [Fri, 1 Apr 2016 08:09:39 +0000 (10:09 +0200)]
titlesource: Add support for absolute positionning

8 years agotests: Add some things to .gitignore
Sebastian Dröge [Mon, 4 Apr 2016 07:53:13 +0000 (10:53 +0300)]
tests: Add some things to .gitignore

8 years agoexamples/gitignore: ignore assets and play_timeline_with_one_clip binaries
Aurélien Zanelli [Sun, 3 Apr 2016 16:06:00 +0000 (18:06 +0200)]
examples/gitignore: ignore assets and play_timeline_with_one_clip binaries

https://bugzilla.gnome.org/show_bug.cgi?id=764550

8 years agoGES: Properly split the GOptionGroup initialization
Edward Hervey [Wed, 30 Mar 2016 07:26:18 +0000 (09:26 +0200)]
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

8 years agoediting-services: use new gst_element_class_add_static_pad_template()
Vineeth TM [Sun, 6 Mar 2016 23:49:14 +0000 (08:49 +0900)]
editing-services: use new gst_element_class_add_static_pad_template()

https://bugzilla.gnome.org/show_bug.cgi?id=763195

8 years agoBack to development
Sebastian Dröge [Thu, 24 Mar 2016 11:33:52 +0000 (13:33 +0200)]
Back to development

8 years agoRelease 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 11:05:16 +0000 (13:05 +0200)]
Release 1.8.0

8 years agoRelease 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 10:33:13 +0000 (12:33 +0200)]
Release 1.7.91

8 years agoRevert "titlesource: use x/yabsolute instead of x/ypos."
Thibault Saunier [Fri, 11 Mar 2016 16:31:15 +0000 (17:31 +0100)]
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

8 years agoges: Don't emit timeline::group-removed when ungrouping outside a timeline
Thibault Saunier [Fri, 11 Mar 2016 16:29:08 +0000 (17:29 +0100)]
ges: Don't emit timeline::group-removed when ungrouping outside a timeline

8 years agotitlesource: use x/yabsolute instead of x/ypos.
Lubosz Sarnecki [Fri, 11 Mar 2016 11:45:37 +0000 (12:45 +0100)]
titlesource: use x/yabsolute instead of x/ypos.

8 years agoges-launcher: don't leak sanitized_timeline string
Justin Kim [Fri, 12 Feb 2016 18:18:24 +0000 (19:18 +0100)]
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

8 years agoRelease 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 17:09:52 +0000 (19:09 +0200)]
Release 1.7.90

8 years agonle: Set the NleOperation flags to NLE_OBJECT_OPERATION
Sjors Gielen [Fri, 26 Feb 2016 20:13:37 +0000 (21:13 +0100)]
nle: Set the NleOperation flags to NLE_OBJECT_OPERATION

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D770

8 years agoges: Register scaletempo::rate as a rate changing property
Thibault Saunier [Fri, 26 Feb 2016 19:42:41 +0000 (20:42 +0100)]
ges: Register scaletempo::rate as a rate changing property

8 years agoHandle changing playback rate
Sjors Gielen [Sun, 20 Dec 2015 13:03:57 +0000 (14:03 +0100)]
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

8 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 26 Feb 2016 10:42:55 +0000 (12:42 +0200)]
Automatic update of common submodule

From b64f03f to 6f2d209

8 years agogroup-added and group-removed signals added
Fabian Orccon [Tue, 16 Feb 2016 12:49:57 +0000 (12:49 +0000)]
group-added and group-removed signals added

Differential Revision: https://phabricator.freedesktop.org/D619

8 years agoBack to development
Sebastian Dröge [Fri, 19 Feb 2016 10:38:45 +0000 (12:38 +0200)]
Back to development

8 years agoRelease 1.7.2
Sebastian Dröge [Fri, 19 Feb 2016 10:26:27 +0000 (12:26 +0200)]
Release 1.7.2

8 years agouninstalled.pc: add support for non libtool build systems
Julien Isorce [Thu, 18 Feb 2016 15:26:11 +0000 (15:26 +0000)]
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

8 years agoFix and test priority of TrackElement after splitting
Thibault Saunier [Tue, 9 Feb 2016 11:31:10 +0000 (12:31 +0100)]
Fix and test priority of TrackElement after splitting

And make sure we properly handle transitions in that case

8 years agoges: Give better names to nleobjects
Thibault Saunier [Tue, 9 Feb 2016 11:14:15 +0000 (12:14 +0100)]
ges: Give better names to nleobjects

8 years agotests: extend the AM_TESTS_ENVIRONMENT from check.mak
Thiago Santos [Fri, 5 Feb 2016 23:02:40 +0000 (20:02 -0300)]
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

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:11:59 +0000 (18:11 -0300)]
Automatic update of common submodule

From 86e4663 to b64f03f

8 years agotitlesource: Add properties for text dimensions.
Lubosz Sarnecki [Thu, 28 Jan 2016 12:37:13 +0000 (13:37 +0100)]
titlesource: Add properties for text dimensions.

8 years agotrackelement: Make use of read-only children properties.
Lubosz Sarnecki [Tue, 2 Feb 2016 19:31:13 +0000 (20:31 +0100)]
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

8 years agonle: Turn composition structural issue into ERROR on the bus
Thibault Saunier [Tue, 26 Jan 2016 11:52:36 +0000 (12:52 +0100)]
nle: Turn composition structural issue into ERROR on the bus

Those error are really critical and we are then enable to keep
working. Just post an ERROR message on the bus and let the
application deal with it.

Reviewed-by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Differential Revision: https://phabricator.freedesktop.org/D740

8 years agotrack-element: Rely on nleobject to be created at construct time
Thibault Saunier [Mon, 25 Jan 2016 15:11:14 +0000 (16:11 +0100)]
track-element: Rely on nleobject to be created at construct time

Avoiding all the pending_xx dance and making the code simpler.

This is now possible thanks to the various recent refactoring.

Thanks to that the user is able to set_child_property on objects
that are not in GESTrack yet, as expected.

Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D739