Commit graph

131 commits

Author SHA1 Message Date
Thibault Saunier b1a8596256 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:54:36 -04:00
Thibault Saunier 28d73a4441 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-25 16:13:44 -04:00
Thibault Saunier 91b55adec2 timeline: Minor documentations fixes 2012-04-23 22:03:11 -04:00
Thibault Saunier 2fd5364927 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-23 22:03:11 -04:00
Thibault Saunier 4be360c4e5 Port to the new GMutex API 2012-04-20 14:18:34 -04:00
Thibault Saunier 672a162062 Merge branch '0.10'
Conflicts:
	bindings/python/ges.defs
2012-04-07 22:31:23 -04:00
Thibault Saunier ad5bc85516 ges: Calm logging when not created TrackObject on purpose 2012-04-07 22:24:55 -04:00
Thibault Saunier 979b9ac0b6 timeline: Restructurate the file separting methods/callbacks/API 2012-04-07 22:24:55 -04:00
Thibault Saunier 4b34d2bbb3 timeline: Plug a leak when calling enable_update 2012-04-07 22:24:55 -04:00
Thibault Saunier 7e7059d37d 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-04-07 22:24:55 -04:00
Thibault Saunier 1728704d09 Merge branch '0.10'
Conflicts:
	bindings/python/ges.defs
2012-03-29 12:55:44 -04:00
Thibault Saunier d5b4fa215e 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-03-27 22:33:57 -04:00
Tim-Philipp Müller 1f37aefdcd Remove ges-marshal.[ch] and use the generic marshaller 2012-03-12 15:46:42 +00:00
Tim-Philipp Müller 5d02075d9b 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:25:49 +00:00
Mark Nauwelaerts 2162c635e2 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-30 11:35:13 +01:00
Edward Hervey ee237ec523 ges: Various doc fixups and cleanups 2012-01-12 16:34:57 +01:00
Thibault Saunier b844ff04de ges: Add a "discovery-error" signal to GESTimeline
API: GESTimeline::discovery-error signal
2012-01-11 11:56:17 -03:00
Mathieu Duponchelle 93046aad6b GES : remove transitions when needed
Conflicts:

	ges/ges-timeline.c
2012-01-11 11:56:17 -03:00
Thibault Saunier 4acc711e52 ges: Add a maxduration property to TrackFileSource
API: GESTrackFileSource::maxduration property
2012-01-11 11:56:17 -03:00
Thibault Saunier bc8c709303 ges: Some debug logging enhancements 2012-01-11 11:56:16 -03:00
Thibault Saunier ffd196d06a ges: Add a duration property to GESTimeline
API: GESTimeline:duration property
2012-01-11 11:56:16 -03:00
Thibault Saunier 5d35024cd3 docs: Update documentation 2012-01-11 11:56:16 -03:00
Mathieu Duponchelle 31688a9354 ges: don't reset the supported formats in the timeline when they're already set
My mom never told me goto was evil
2012-01-11 11:56:15 -03:00
Mathieu Duponchelle 2c4d614cb1 ges: adds an enable_update function to the GESTimeline
Binds it in python

API: ges_timeline_enable_update
2012-01-11 11:56:15 -03:00
Thibault Saunier 8d15025aae ges: Add a ges_timeline_append_layer convenience method
API: ges_timeline_append_layer
2012-01-11 11:56:14 -03:00
Thibault Saunier 6e1a482a80 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
2012-01-11 11:56:14 -03:00
Thibault Saunier 2bbcbab174 ges: Keep layers sorted by priorities in the timeline 2012-01-11 11:56:14 -03:00
Robert Swain e288a6f460 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-06 09:16:09 -03:00
Robert Swain fc97c16e7e 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.
2012-01-05 09:01:20 -03:00
Edward Hervey 7cdd9694ff ges: Port to 0.11 API 2011-10-11 09:51:35 +02:00
Edward Hervey 904aabe653 ges: Use %NULL instead of #NULL
Reported by Stefan Kost:
"% is for constants, # is for objects/structs/types, @ is for parameters."
2011-05-09 14:24:26 +02:00
Vincent Penquerc'h a35a29a810 ges: make uri strings const 2011-03-01 17:29:09 +01:00
Sebastian Dröge 818368ffcf ges: Mark some private symbols static
https://bugzilla.gnome.org/show_bug.cgi?id=639218
2011-01-11 17:55:33 +01:00
Thibault Saunier dc6290a5e2 docs: Document all the undocumented public functions 2011-01-10 15:14:45 +01:00
Edward Hervey 9f26d1a14e Timeline: Fix documentation of return value 2011-01-10 11:12:38 +01:00
Thibault Saunier 98b51d8cd1 TimelineFileSource: Create instance private and move private variables to it
Fixe/Add getter and setters methods for those variables

Fixup documentation
2011-01-08 22:45:44 +01:00
Thibault Saunier 3d6764d6e9 Timeline: Add instance private and Move private variables to it
Fixe/Add getter methods to get those variables

Fixup documentation
2011-01-08 22:45:44 +01:00
Edward Hervey 785c9d9253 GESTimeline: minor cleanup 2010-12-20 12:03:48 +01:00
Edward Hervey 11887e0058 GESTimelineLayer: Subclass from GInitiallyUnowned
The floating reference will be owned by the Timeline
2010-12-20 12:03:48 +01:00
Edward Hervey 8ca6f66f4c GESTrackObject: Hide more variables and provide accessors for them 2010-12-16 15:00:46 +01:00
Edward Hervey 4028baaa5b GESTimeline: Remove useless variable 2010-12-16 12:46:48 +01:00
Edward Hervey 3eadc4aa31 ges: Add more documentation and annotations
This should make GES gobject-introspection compliant now.
2010-12-15 19:40:11 +01:00
Edward Hervey faec1e803d docs: A round of updates 2010-12-08 15:36:55 +01:00
Thibault Saunier dfeb7afe85 GESTimelineObject: add private structure 2010-12-08 13:00:21 +01:00
Edward Hervey 2ff3d8ce12 Timeline: Add doc and more comments/fixmes 2010-11-27 18:12:49 +01:00
Brandon Lewis 33bc336a11 GESTimeline: add more fixmes 2010-11-27 18:08:20 +01:00
Brandon Lewis 27481c3c26 GESTimeline: implementation of save_to/load_from uri 2010-11-27 18:08:19 +01:00
Brandon Lewis abce2912b8 GESTimeline: set track state to NULL before removing from timeline 2010-11-27 17:55:50 +01:00
Brandon Lewis f521d31b40 GESTimeline: release timeline objects when a layer is removed 2010-11-27 17:55:49 +01:00
Brandon Lewis 9848c33e40 GESTimeline: allow adding tracks after layers 2010-11-27 17:23:23 +01:00
Brandon Lewis 170ec1e7ab GESTimeline: add existing timeline objects when adding layers 2010-11-27 17:16:36 +01:00
Brandon Lewis d2b2ac0d51 GESTimeline: remove layers before removing tracks in dispose () 2010-11-27 17:13:39 +01:00
Edward Hervey da806759d1 Timeline: Remove unneeded variable 2010-11-25 14:02:26 +01:00
Edward Hervey 9718bf1f1f GESTimeline: Change for updated GstDiscoverer API 2010-11-04 12:28:46 +01:00
Edward Hervey 6364e8ec2c all: Changes for discoverer being merged upstream
Along with a whole bunch of Makefile fixups
2010-09-23 18:42:48 +02:00
Edward Hervey a02a5c2320 Update for factorylist/convertframe being merged to gst core/base 2010-09-16 08:39:46 +02:00
Edward Hervey d76535bc59 Update to moved gst-convenience 2010-09-16 08:39:01 +02:00
Brandon Lewis cd7cefffa6 add create_track_objects 2010-09-01 16:56:01 +02:00
Brandon Lewis d6d7eb8398 call create_track_objects in timeline.c 2010-09-01 16:56:01 +02:00
Brandon Lewis c9eba54506 always support audio on still images 2010-08-13 11:50:31 +02:00
Brandon Lewis 598d883d53 don't set max duration on still images 2010-08-13 11:50:31 +02:00
Brandon Lewis 56c26dd853 set 'is-image' property true when source has an image stream type 2010-08-13 11:50:30 +02:00
Edward Hervey 9eedf06b7b GESTimeline: Remove all tracks/layers when being disposed 2010-06-09 13:52:35 +02:00
Brandon Lewis 93534c0500 Add missing documentation 2010-06-09 11:28:09 +02:00
Edward Hervey 8193fe5b4c GESTimeline: Freeze state of Tracks when doing an async state change 2010-05-25 16:36:57 +02:00
Edward Hervey ed86ff2f51 GESTimeline: Remove unused variable 2010-05-19 15:50:41 +02:00
Edward Hervey 1bb45a61a6 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:36:11 +02:00
Mark Nauwelaerts 10be8697df GESTimeLine(PipeLine): remove additional unref 2010-04-20 13:47:07 +02:00
Edward Hervey c3741374da GESTimeline: New method ges_timeline_get_tracks 2010-04-20 13:47:03 +02:00
Edward Hervey dafe3d2bb4 GESTimeline: Properly iterate TrackObject lists when removing them 2010-03-13 15:56:57 +01:00
Edward Hervey dd9d3e420c ges/: Fix copyright in headers 2009-11-30 15:14:25 +01:00
Edward Hervey b54487fe11 Finish public API documentation 2009-09-16 12:37:45 +02:00
Edward Hervey 8c340412cd GESTimeline: Fix reference counting of tracks, add docs. 2009-09-14 19:48:05 +02:00
Edward Hervey dff4e20cb5 More documentation. Coverage now at 25% 2009-09-10 18:44:16 +02:00
Edward Hervey 29751a7d27 GESTimeline: Make sure added ghostpads are unique. 2009-09-09 15:51:52 +02:00
Edward Hervey 416323c649 GESTimeline: Track internal pads and tracks in sync.
Add method to get the Track associated to a ghostpad.
2009-09-08 19:44:03 +02:00
Edward Hervey 9f4f14722d Timeline: Implement remove_track, remove_layer, and _layer_object_removed_cb 2009-08-07 16:41:23 +02:00
Edward Hervey fa56e7f0cb ges: Remove unused private structures. We'll re-add on a per-case basis. 2009-08-06 19:59:25 +02:00
Edward Hervey 12777c8532 Add unit test system. Adjust GST_DEBUG usage. 2009-08-06 19:51:29 +02:00
Edward Hervey c4649938fd intermediary commit. Still need to fill in more blanks :( 2009-08-06 17:38:43 +02:00
Edward Hervey 081f4805ef src/ => ges/ 2009-08-06 11:24:04 +02:00
Renamed from src/ges-timeline.c (Browse further)