Dan Williams
636dcc3a26
ges: fix finalize/dispose mixup
...
https://bugzilla.gnome.org/show_bug.cgi?id=725918
2014-03-08 11:26:32 +00:00
Dan Williams
54367a2d36
ges: Ensure GObject finalize and dispose methods chain up to parents
...
https://bugzilla.gnome.org/show_bug.cgi?id=725918
2014-03-08 11:24:33 +00:00
Dan Williams
4170ed1721
Fix use-after-free in _free_pending_clip()
...
https://bugzilla.gnome.org/show_bug.cgi?id=725855
2014-03-07 17:42:52 +01:00
Alexandru Băluț
2fbf26a57f
Update the documentation to use Pitivi instead of PiTiVi
2014-02-27 09:54:41 +01:00
Alexandru Băluț
abfe68b285
Remove "#" from short-description
...
It breaks the display in the index.html page.
2014-02-27 09:54:41 +01:00
Alexandru Băluț
eef3861272
Minor documentation fixes: GESExtractable, GESAsset
2014-02-27 09:54:41 +01:00
Thibault Saunier
e9ecfef808
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-18 11:02:49 +01:00
Thibault Saunier
f921277ac2
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-17 12:37:57 +01:00
Thibault Saunier
387b234f3b
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-16 20:58:04 +01:00
Sebastian Dröge
0a25ed00a1
ges: Remove unused functions
2014-02-09 23:50:25 +01:00
Sebastian Dröge
f88cc0f433
ges-group: Properly check for integer underflows
...
error: comparison of unsigned expression < 0 is always false
2014-02-08 20:19:53 +01:00
Sebastian Dröge
92e595718a
ges-extractable: Return NULL instead of G_TYPE_INVALID
...
The return type of this function is gchar *, not GType
2014-02-08 20:18:11 +01:00
Thibault Saunier
0b1f3bb5ff
ges: Some documentation cleanup
2014-02-05 00:12:10 +01:00
Alexandru Băluț
df93acc581
ges-pipeline: Rename add_timeline to set_timeline
...
API BREAKAGE:
- ges_pipeline_add_timeline
+ ges_pipeline_set_timeline
2014-02-04 14:17:47 +01:00
Thibault Saunier
f76000d750
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-02-04 13:53:34 +01:00
Thibault Saunier
f4ce6dcab7
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-02-04 13:53:34 +01:00
Thibault Saunier
94dbf20400
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 22:27:54 +01:00
Mathieu Duponchelle
105d901c12
track-element: clamp interpolated keyframe values.
2014-01-10 18:40:37 +01:00
Thibault Saunier
14a2f5943d
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-27 10:14:20 +01:00
Thibault Saunier
d00283f309
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-27 10:14:19 +01:00
Thibault Saunier
b774783af8
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-27 10:14:19 +01:00
Thibault Saunier
35cefaad1b
ges: Add padding for API extension where missing
2013-12-27 10:14:19 +01:00
Thibault Saunier
289b04f170
ges: Reimplement 'always create a project to back a timeline'
...
Keeping it simple, and making sure everything is synchronous
2013-11-28 15:47:50 -03:00
Thibault Saunier
6e9e9338ae
Revert "ges: Always create a project to back a timeline"
...
This reverts commit 59d83f1a93
.
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-28 15:12:15 -03:00
Thibault Saunier
99a36b2b69
timeline: Add all assets of the clip added to the timeline to the project
2013-11-25 15:18:24 -03:00
Thibault Saunier
e7a45f0eef
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:50:27 -03:00
Thibault Saunier
04071e7214
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:50:27 -03:00
Thibault Saunier
4c411761fd
layer: Add an API to get the total duration of the layer
...
API:
ges_layer_get_duration
2013-11-22 17:50:27 -03:00
Lubosz Sarnecki
7b1df27c86
gir: fix warnings
2013-11-22 17:50:27 -03:00
Thibault Saunier
a73644a7b9
video-uri-source: Handle interlaced videos
...
https://bugzilla.gnome.org/show_bug.cgi?id=710168
2013-11-19 12:37:23 -03:00
Thibault Saunier
371740ecdf
framepositionner: Fix the range of properties dealing with number of pixels
...
This way it is possible to interpolate those values.
2013-11-09 10:35:13 -03:00
Thibault Saunier
59d83f1a93
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 10:35:12 -03:00
Kishore Arepalli
5a5228a25a
ges: Fix several memory leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=710390
2013-10-31 23:11:23 +01:00
Mathieu Duponchelle
219154eacb
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-30 12:09:52 -03:00
Thibault Saunier
0e35a68aa6
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-29 17:31:06 -03:00
Kishore Arepalli
71a6d75d75
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-15 10:49:50 +01:00
Thibault Saunier
ee36beb244
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:09:46 -03:00
Thibault Saunier
35acbae033
formatter: Try to use best formatter first
2013-10-09 20:25:47 -03:00
Thibault Saunier
d77f260f9e
audiosource: Add audioconvert and audioresample before the volume element
...
https://bugzilla.gnome.org/show_bug.cgi?id=709777
2013-10-09 20:08:03 -03:00
Mathieu Duponchelle
fb6aabfe4d
timeline: pass the correct argument to disconnect_by_func.
...
fixes #709205
2013-10-02 21:17:56 +02:00
Thibault Saunier
ca562ba8a0
clip: Return the newly created TrackElement when adding an asset
...
This is a minor API change
2013-09-28 18:09:49 +02:00
Thibault Saunier
002977cd85
timeline: Add a signal to know when it is commited
2013-09-28 15:42:20 +02:00
MathieuDuponchelle
1c389d6af3
clip: split_bindings at position * + inpoint*
2013-09-28 02:44:06 +02:00
MathieuDuponchelle
e6f82c68e5
video-track: update gaps framerate along with restriction caps.
2013-09-28 02:44:06 +02:00
MathieuDuponchelle
1fac84c7b9
xml-formatter: add support for restriction caps.
2013-09-25 23:54:49 +02:00
Simon Corsin
3970e2fac7
video-source: Add a videorate in video-source.
...
And control it in framepositionner.
Conflicts:
ges/ges-video-source.c
2013-09-25 23:54:49 +02:00
Thibault Saunier
efb638efe8
pipeline: Let some queuing in encodebin
...
It is sometimes necessary
2013-09-22 23:06:22 +02:00
Thibault Saunier
7b96c50b4e
examples: Make project loading more generic
...
Pitivi formatter is deprecated, do not use it by default
2013-09-22 23:06:22 +02:00
Thibault Saunier
c0eae0c790
Revert "ges: Disable the Pitivi formatter"
...
This reverts commit e54ceff720
.
Let's just keep it... it does not cost anything.
2013-09-22 23:06:22 +02:00
Thibault Saunier
ec28489b84
formatter: Keep timeline duration as a meta
2013-09-13 20:37:58 -03:00
Thibault Saunier
f661c3ea55
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 19:07:58 -03:00
Kishore Arepalli
6c993d36ba
ges-pipeline: Don't unref buffer obtained from a GstSample
...
https://bugzilla.gnome.org/show_bug.cgi?id=707914
2013-09-12 09:06:27 +02:00
Thibault Saunier
0daf523dfd
pipeline: Create it through a factory
...
Making it possible to use it with GstValidate LD_PRELOAD feature
2013-09-09 12:51:06 -03:00
Thibault Saunier
0d0fc767ee
pipeline: Finnish renaming from GESTimelinePipeline
2013-09-09 12:47:02 -03:00
Thibault Saunier
9c77d52f30
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-08 19:19:24 -03:00
Thibault Saunier
c47c115dd1
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 12:59:17 -04:00
Thibault Saunier
c4c26f8748
ges: Handle trimming in groups
...
This was broken, clips where moving all around, make it behave properly.
2013-09-07 12:55:58 -04:00
Thibault Saunier
c74aee5fdc
timeline: Make ripple start be trimming
...
This is a more natural behaviour as a user instead of doing nothing at
all.
2013-09-07 02:10:12 -04:00
Thibault Saunier
2f03a5df25
ges: Make GESAudioSource and GESVideoSource abstract
2013-09-03 20:57:31 -04:00
Mathieu Duponchelle
17122c44fb
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-03 20:57:31 -04:00
Thibault Saunier
9ed5803323
videosource: Make sure to update z-order when layer priority changes
...
Conflicts:
ges/ges-video-source.c
2013-09-03 20:57:31 -04:00
Thibault Saunier
9fa99df5a7
timeline-element: Add a set_parent vmethod
...
API:
GESTimelineElment->set_parent vmethod
2013-09-03 20:57:31 -04:00
Simon Corsin
93de0baf96
videotransition: No need to hard set width and height anymore.
2013-09-03 20:57:31 -04:00
Simon Corsin
a93f7baed3
gstframepositionner: Install width and height properties.
...
+ And manage them properly.
2013-09-03 20:57:31 -04:00
Simon Corsin
7269c2b316
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-09-03 20:57:30 -04:00
Simon Corsin
a635e48d77
GES: Add GESVideoSource and GESAudioSource base classes
...
+ Update documentation.
+ Implements subclasses audio-uri-source and video-uri-source
2013-09-03 20:22:32 -04:00
Simon Corsin
7fcc6e4b08
testsource: Handle child properties as child properties
...
Makes $make check pass.
Standardizes property handling.
2013-09-03 20:12:33 -04:00
Simon Corsin
e50a86d0d9
source: Make a ges_source_create_topbin internal helper method
2013-09-03 20:10:37 -04:00
Simon Corsin
c0b6c968d8
ges-source: Move common elements handling to the base class
...
+ And port all the subclasses
2013-09-03 19:44:31 -04:00
Thibault Saunier
28770ce53b
container: Do not forget to initialize the timeline before using it
2013-09-02 13:57:15 -04:00
Tim-Philipp Müller
73075e4637
ges-xml-formatter: use g_ascii_dtostr() instead of messing with setlocale()
...
Libraries shouldn't use setlocale().
2013-09-02 00:19:30 +01:00
Mathieu Duponchelle
6d70b553ad
xml-formatter: set LC_NUMERIC locale before saving values.
...
Avoiding to save ',' instead of '.' for floats in certain locals
2013-08-31 21:29:59 -04:00
Mathieu Duponchelle
832616fb2c
video-transition: Keep switch transition type simple
...
Also make sure there is a proper default value for transition type.
2013-08-31 13:53:16 -04:00
Thibault Saunier
f7ac18c138
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-30 18:47:24 -04:00
Thibault Saunier
e54ceff720
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-29 18:43:21 -04:00
Mathieu Duponchelle
c527067953
ges-clip: when a child, is removed, disconnect from its notifies.
2013-08-28 14:03:14 -04:00
Thibault Saunier
54b10dcbbf
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-27 15:33:45 -04:00
Thibault Saunier
ef8c4b4b6b
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-27 15:33:45 -04:00
Thibault Saunier
13aeda606a
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-27 15:33:45 -04:00
Mathieu Duponchelle
cd8955c56f
trackelement: split bindings correctly.
2013-08-22 18:36:40 -04:00
Mathieu Duponchelle
01f9dbcadc
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-21 08:06:59 -04:00
Mathieu Duponchelle
e9e7f0a82c
container: resort children after prepending an element.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
09405c0080
timeline: when there are no objects anymore, set duration to 0.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
dec80f3e4d
ges-audio-track: Change contructor prototype.
...
We return an AudioTrack.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
2e1e88fb22
pipeline: add a get_mode method.
2013-08-21 08:06:59 -04:00
Mathieu Duponchelle
2226882a5c
basexmlformatter: Only set timeline auto transitions when done loading.
2013-08-21 08:05:24 -04:00
Thibault Saunier
fbe18c9ed1
formatter: Plug leaks in the can_save_to_uri method
...
https://bugzilla.gnome.org/show_bug.cgi?id=679941
2013-08-20 08:24:33 -04:00
Thibault Saunier
0c87104955
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:18:06 -04:00
Thibault Saunier
41d86292c9
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.
2013-08-19 15:18:06 -04:00
Paul Lange
9d30f05798
ges-formatter: Check if directory of URI is writeable
...
https://bugzilla.gnome.org/show_bug.cgi?id=679941
2013-08-19 15:18:06 -04:00
Thibault Saunier
0671b69d34
timeline: Add support for group-id in the stream-start event
2013-08-02 14:47:24 +02:00
Thibault Saunier
a939c553cf
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-27 19:29:07 +02:00
Thibault Saunier
5c8e2737b4
timeline: Add methods to get and set the snapping distance
2013-07-24 22:37:06 -04:00
Thibault Saunier
c1451cf48c
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-24 21:30:23 -04:00
Thibault Saunier
3e88edfebc
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-21 21:42:42 -04:00
Lubosz Sarnecki
9f0b0c26e3
Rename GESTimelinePipeline to GESPipeline
...
rename ges_timeline_pipeline methods to ges_pipeline
2013-07-21 21:42:42 -04:00
Thibault Saunier
e981c171b1
tests: integration: Give some more information to user on errors
2013-07-21 21:27:16 -04:00
Mathieu Duponchelle
9e14ca1487
ges-uri-clip: Add the possibility to specify an assets directory
...
through the GES_TESTING_ASSETS_DIRECTORY environment variable.
2013-07-13 17:22:24 +02:00
Mathieu Duponchelle
78e19edad9
track-element: No need to log when prio == MIN_GNL_PRIO.
2013-07-12 18:17:00 -04:00
Mathieu Duponchelle
e0b89ce691
framepositionner: fix messup with propname enum.
2013-07-12 18:17:00 -04:00
Mathieu Duponchelle
cc09d03253
track: Make it possible to disable the mixing feature
...
API:
ges_track_set_mixing
ges_track_get_mixing
2013-07-12 18:17:00 -04:00
Mathieu Duponchelle
4addde8d74
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 18:17:00 -04:00
Thibault Saunier
cc9391319e
group: Add an empty group constructor
...
As it is more intuitive for users.
API:
ges_group_new
2013-07-12 11:56:59 -04:00
Mathieu Duponchelle
2723ef561e
container/group/clip: Allow creating an empty group.
...
This is a legitimate use case.
2013-07-11 23:47:36 +02:00
Mathieu Duponchelle
96204ac1d2
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-10 23:25:12 -04:00
Mathieu Duponchelle
ff21ea7f92
group: set priv->setting_value to TRUE when moving ourselves in _child_removed
2013-07-10 23:18:41 -04:00
Thibault Saunier
1e5bb2edf6
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-10 23:17:54 -04:00
Thibault Saunier
b0202ed22b
timeline: Append missing layers when moving groups between layers
...
This was a missing feature of the newly added groups
2013-07-09 21:30:59 -04:00
Thibault Saunier
a933d9540d
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-09 16:47:00 -04:00
Thibault Saunier
d3e3871440
xml-formatter: Indent formatted files
2013-07-09 22:14:43 +02:00
Thibault Saunier
bce084f4fd
timeline-element: Add a method to get the topelevel parent of an element
...
API:
ges_timeline_element_get_toplevel_parent
2013-07-09 22:13:42 +02:00
Thibault Saunier
2b9606437c
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-09 22:13:42 +02:00
Thibault Saunier
89e2a69d37
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-09 22:13:42 +02:00
Thibault Saunier
12eebdabda
clip: Add an internal method to easily get the priority of the layer the clip is in
2013-07-09 22:13:42 +02:00
Thibault Saunier
30eb9e4474
container: Remove the get_priority_range vmethod
...
We now let full control to subclasses so we do not need it anymore.
2013-07-09 22:13:42 +02:00
Thibault Saunier
9e15e13983
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-09 22:13:42 +02:00
Thibault Saunier
ed9dcddef4
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-07-09 22:13:41 +02:00
Thibault Saunier
534bf481ed
clip: Handle child priority offsets when setting priority
2013-07-09 22:13:41 +02:00
Thibault Saunier
9d13c5cbd3
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-07-09 22:13:41 +02:00
Thibault Saunier
bcfeada696
container: "Implement" the set_priority vmethod
...
This way we will just accept any value setted
2013-07-09 22:13:41 +02:00
Thibault Saunier
7412de6f6c
ges: Avoid leaking the timeline when grouping containers
2013-07-09 22:13:41 +02:00
Thibault Saunier
8bc88a2ba8
container: Let subclasses decide when height change should be computed
...
API:
- GESContainer.compute_height vmethod
+ _ges_container_set_height
2013-07-09 22:13:41 +02:00
Thibault Saunier
b5858c5b04
base-xml-formatter: s/ducation/duration/
2013-07-09 22:13:41 +02:00
Thibault Saunier
91ebdc7efb
container: ges_container_ungroup return a transfer full list
2013-07-09 22:13:41 +02:00
Thibault Saunier
663f9884ef
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-07-09 22:13:41 +02:00
Thibault Saunier
87cfcca5e7
container: Update offsets in GESTimelineElement vmethod implementations
...
So subclasses just have to link up to resync offsets
2013-07-09 22:13:41 +02:00
Thibault Saunier
cd111fa10a
docs: Misc documentation fixes
2013-07-09 22:13:41 +02:00
Thibault Saunier
fe043e0231
clip: Never try to set the start after the end of an element when trimming
2013-07-09 22:13:40 +02:00
Thibault Saunier
71f877c611
internal: Add a macro to make it easier to get the end of a TimelineElement
2013-07-09 22:13:40 +02:00
Thibault Saunier
dd7085d2ed
track: Update gaps only when commiting
...
We were still updating them at useless moments, do it only when absolutely needed.
2013-07-09 22:13:40 +02:00
Thibault Saunier
4020ca54ff
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-07-09 22:13:40 +02:00
Thibault Saunier
ab98f370c8
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-07-09 22:13:40 +02:00
Thibault Saunier
f5aee5df57
container: Make initiated_move a read only protected member
...
It is a interesting information for subclasses.
Conflicts:
ges/ges-container.c
2013-07-09 22:13:40 +02:00
Thibault Saunier
5a29cd0c88
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-09 10:57:51 -04:00
Mathieu Duponchelle
2cb71e730a
track-element: Remove duration_changed virtual method.
...
We use notifies for the properties.
+ Use notifies in audio-transition and video-transition
2013-07-08 19:32:15 -04:00
Mathieu Duponchelle
f1a3d65ef6
formatters: Save and load bindings applied to sources.
2013-07-08 19:32:09 -04:00
Tim-Philipp Müller
3b8bfc1f16
timelinepipeline: fix caps leak
2013-06-28 00:24:33 +01:00
Руслан Ижбулатов
e4b1153846
timelinepipeline: make the caps from encoding profile writable
...
https://bugzilla.gnome.org/show_bug.cgi?id=703121
2013-06-28 00:20:14 +01:00
Thibault Saunier
d49efabb93
urisource: Do not let user reset the URI property
...
This is not supported right now and would lead to unexpected behaviours
2013-06-23 18:43:00 -04:00
Mathieu Duponchelle
9e0632e353
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-06-23 18:42:59 -04:00
Mathieu Duponchelle
2b4609bfe7
video-track: "implement" get_mixing_element.
2013-06-23 18:37:41 -04:00
Mathieu Duponchelle
859f4c3c05
ges-smart-mixer: first code dump, mainly copy paste from ges-smart-adder.
2013-06-23 18:37:41 -04:00
Simon Corsin
bc4186d9c8
ges-layer.c: notify priority changes.
2013-06-23 18:37:41 -04:00
Mathieu Duponchelle
fc182b8026
ges-uri-source: Refactoring work.
...
+ Categorize functions (Callbacks, vmethods)
+ make more generic functions for the creation of the bin.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
6be4f79ca0
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-06-23 18:37:40 -04:00
Mathieu Duponchelle
800325db02
uri-source: when creating the audio element, set the volume to the layr volume when necessary.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
86b893e54c
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-06-23 18:37:40 -04:00
Mathieu Duponchelle
65670509f9
smart-adder: remove volume from the bin, which quite simplifies the code.
...
+ Don't be too smart, adder.
2013-06-23 18:37:40 -04:00
Thibault Saunier
724a6c1bb5
smart-adder: Implement a GESSmartAdder bin element to be used as mixing element
...
..in audio tracks
2013-06-23 18:37:40 -04:00
Thibault Saunier
b87c800743
meta-container: Add a VOLUME default meta to layers
2013-06-23 18:28:53 -04:00