Commit graph

2438 commits

Author SHA1 Message Date
Thibault Saunier 822e0a7b09 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-24 13:27:16 +02:00
Justin Kim bd1d03202b 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:05:55 +02:00
Justin Kim 0b900bddc9 pipeline: don't leak GstPad
https://bugzilla.gnome.org/show_bug.cgi?id=755505
2015-09-24 09:42:08 +02:00
Justin Kim 00ae999547 pitivi-formatter: don't leak internal hash table
https://bugzilla.gnome.org/show_bug.cgi?id=755505
2015-09-24 09:42:08 +02:00
Thibault Saunier 1131a22a74 video-transition: Make compositor background transparent
Allowing further mixing downstream
2015-09-23 21:23:13 +02:00
Thibault Saunier d1c01678bc video-transition: Add a framepositioner at the end of the transitio
So downstream compositor knows the zorder of the various streams
2015-09-23 21:13:13 +02:00
Thibault Saunier 5207d6dfca Release 1.5.91 2015-09-18 18:40:18 +02:00
Thibault Saunier 5a0393c54a ges: Namespace NLE utils function into GES
Avoiding name clashes when built statically
2015-09-18 10:01:44 +02:00
Thibault Saunier c8e9cf962c nle: Avoid unsetting srcpad target after the srcpad is already freed
That leaded to segfaults
2015-09-15 12:17:29 +02:00
Thibault Saunier 69e9acc823 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-15 12:08:00 +02:00
Justin Kim ff388f1d9b nlecomposition: don't leak internal hashtable
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 13:09:40 +02:00
Justin Kim 937217021e nleobject: don't leak srcpad when disposing
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 13:09:40 +02:00
Justin Kim fe2165cad3 timeline: don't leak pad in private structure
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 13:09:40 +02:00
Justin Kim 04bac06fad ges-launcher: don't leak GError
https://bugzilla.gnome.org/show_bug.cgi?id=754858
2015-09-11 11:26:35 +02:00
Justin Kim 32c694cc00 ges-launcher: fix double free when argument is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=754783
2015-09-09 16:42:48 +02:00
Thibault Saunier f046bb5a03 video-source: Use the priority being set to compute zorder 2015-09-04 12:01:16 +02:00
Thibault Saunier f0b3cd27f9 video:transition: Set mixer pad zorder 2015-09-02 23:27:16 +02:00
Thibault Saunier 8c0a6402f6 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-09-02 20:42:50 +02:00
Thibault Saunier ab25464876 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-27 21:58:39 +02:00
Jan Schmidt fd0cc5cb2a Use standard GST_PLUGIN_LDFLAGS for the nle plugin
Add the standard GST_PLUGIN_LDFLAGS to the configure.ac file.
2015-08-23 01:35:18 +10:00
Thibault Saunier fc7ae396c8 Add support for static plugins builds 2015-08-21 21:39:22 +02:00
Thibault Saunier 1dc013984b Release 1.5.90 2015-08-20 17:57:55 +02:00
Thibault Saunier edc5c27ffb 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-08-20 13:49:20 +02:00
Thibault Saunier fdd1456062 nle: Enhance debug logging 2015-07-23 12:28:14 +02:00
Thibault Saunier 3c127d9622 ges: Do not leak and uselessly create errors
And avoid parenthesis in GstObject names
2015-07-23 12:28:14 +02:00
Thibault Saunier 254c2b1f5e ges: Fix how we handle layer vs layer-priority in the structured interface 2015-07-23 12:28:14 +02:00
Thibault Saunier 844ce69650 tests: Do not use gst-structured-interface in the tests
It breaks $ make distcheck
2015-07-23 12:28:14 +02:00
Tim-Philipp Müller 84d3f8056c Update mailing list in doap file 2015-07-16 17:26:04 +01:00
Thibault Saunier d5663a46dc timeline: Remove transitions that can no fit into an auto transition
When activating auto transition mode
2015-07-16 11:23:20 +02:00
Thibault Saunier 6fc6ce29f9 ges; Minor debug enhancement 2015-07-16 10:53:17 +02:00
Thibault Saunier 724418b75d 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-13 13:54:35 +02:00
Thibault Saunier 50f26f1269 nleobject: Concider objects as 'inactive' when they have a duration == 0 2015-07-08 19:10:31 +02:00
Thibault Saunier 0fad60e754 track-element: Handle the case where we have only one keyframe set when interpollating keyframes 2015-07-08 18:59:00 +02:00
Thibault Saunier 7be28b29b2 asset: Port use of deprecated GSimpleAsyncResult to GTask 2015-07-06 10:32:32 +02:00
Stefan Sauer f997080034 Automatic update of common submodule
From f74b2df to 9aed1d7
2015-07-03 22:00:08 +02:00
Thibault Saunier 58fb9a6720 track-element: Fix splitting bindings and add unit tests 2015-07-03 14:06:54 +02:00
Thibault Saunier d9c596162e structured-interface: Better handle CLOCK_TIME type from GstStructures 2015-07-03 14:06:54 +02:00
Thibault Saunier 5885f58c14 element: Implement a paste method
Allowing user to copy paste clips very easily
2015-07-03 14:06:54 +02:00
Thibault Saunier d23e43ae1a 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-07-03 14:06:54 +02:00
Thibault Saunier 42700e98c5 smart-video-mixer: Always keep a ref on the mixer pad 2015-07-03 11:20:54 +02:00
Thibault Saunier 54be29e9ed timeline-element: Add a method to get the TrackType it interacts with
API:
  + ges_timeline_element_get_track_types
2015-07-03 11:20:54 +02:00
Thibault Saunier 87b790a9da 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-07-03 11:20:54 +02:00
Thibault Saunier c17dae8f0e video-transition: Use a SmartMixer as mixer
So that the frame position metas are parsed and taken into account
2015-07-03 11:20:54 +02:00
Thibault Saunier 6a0ac89009 track-element: Add method to remove control binding
API:
  ges_track_element_remove_control_binding
2015-07-03 11:20:54 +02:00
Thibault Saunier 7f4f1b0a07 ges: Handle absolute GstDirectControlBindings 2015-07-03 11:20:54 +02:00
Thibault Saunier 8e13b7d9b8 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:41:19 +02:00
Thibault Saunier a0ee7e1f44 timeline: Never change output media time when trimming start
+ Fix testsuite

https://bugzilla.gnome.org/show_bug.cgi?id=638802
2015-07-03 09:31:07 +02:00
Thibault Saunier 53defaab7a 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-03 09:30:50 +02:00
Thibault Saunier 938aaaef24 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-02 10:17:25 +02:00
Thibault Saunier 8b821511ad 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-07-01 11:38:53 +02:00