Edward Hervey
87087b013a
GESTimelinePipeline: finalize => dispose
...
We want to release our objects before the parent GstBin class does so.
2010-06-21 11:52:01 +02:00
Edward Hervey
45febdebe1
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:40:50 +02:00
Brandon Lewis
03b299ecdb
release the request pads in dispose
2010-06-10 16:25:34 +02:00
Brandon Lewis
19c8bbfd3f
don't keep an extra reference to vsmpte
2010-06-10 16:14:20 +02:00
Brandon Lewis
462cd2b41f
gstl_recalculate() won't set priorities to -1
2010-06-09 18:56:55 +02:00
Brandon Lewis
73814e225d
ges/ges-track-transition.h: add missing function prototype
2010-06-09 17:13:13 +02:00
Brandon Lewis
edecee8def
ges/ges-utils.h: C90 fixes
2010-06-09 17:13:07 +02:00
Brandon Lewis
3e34e423a6
ges/ges-track.h: C90 fixes
2010-06-09 17:13:07 +02:00
Brandon Lewis
9b7c70c6c1
ges/ges-track.c: C90 fixes
2010-06-09 17:13:07 +02:00
Brandon Lewis
71df04a2f9
ges/ges-track-transition.c: C90 fixes
2010-06-09 16:34:14 +02:00
Brandon Lewis
8db7c7a48b
ges/ges-track-object.c: C90 fixes
2010-06-09 16:31:11 +02:00
Brandon Lewis
7a64a8c690
ges/ges-timeline-transition.c: C90 fixes
2010-06-09 16:30:48 +02:00
Brandon Lewis
250d0be3c4
ges/ges-timeline-object.c: C90 fixes
2010-06-09 16:30:16 +02:00
Brandon Lewis
1ec9238358
ges/ges-timeline-layer.c: C90 fixes
2010-06-09 16:29:26 +02:00
Brandon Lewis
06a8cc32a0
ges/ges-simple-timeline-layer.c: C90 fixes
2010-06-09 16:27:43 +02:00
Edward Hervey
ea55ceb747
GESTrackTransition: Fix debug statement
2010-06-09 13:53:07 +02:00
Edward Hervey
9eedf06b7b
GESTimeline: Remove all tracks/layers when being disposed
2010-06-09 13:52:35 +02:00
Edward Hervey
b6277bd8bb
GESTimelineLayer: Release all layer/tracks when being disposed
2010-06-09 13:52:08 +02:00
Brandon Lewis
f0fc253aa8
ges/ges-track-transition.c: set referece to vsmpte to NULL after freeing
2010-06-09 11:28:46 +02:00
Brandon Lewis
c7273608c7
ges/ges-track-transition.c: was freeing same GstController twice in _dispose()
2010-06-09 11:28:46 +02:00
Edward Hervey
5e2660b2c2
GESTrackTransition: Unref the ControlSource in dispose
2010-06-09 11:28:46 +02:00
Edward Hervey
4188c6fa97
ges: Initialize GstController in ges_init
2010-06-09 11:28:46 +02:00
Brandon Lewis
9d8ce82b61
ges/ges-simple-timeline-layer.c: print a warning when transitions overlap
2010-06-09 11:28:46 +02:00
Brandon Lewis
0608930b19
ges/ges-timeline-transition.c: can't set enums by nick
2010-06-09 11:28:46 +02:00
Brandon Lewis
221df1b880
ges/ges-timeline-transition.c: initialize vtype enum type from static list of
...
GEnumValues
2010-06-09 11:28:46 +02:00
Brandon Lewis
67c33dc65b
ges/ges-track-transition.c: adjust to the change in VTYPE_CROSSFADE
2010-06-09 11:28:10 +02:00
Brandon Lewis
adeef34c77
ges/ges-timeline-transition.{c,h}: value for VTYPE_CROSSFADE changed to 512
...
and exported in ges-timeline-transition.h
2010-06-09 11:28:10 +02:00
Brandon Lewis
2adbd8e36c
ges/ges-timeline-transition.c: implement vtype gobject property on
...
GESTimelineTransitions
2010-06-09 11:28:10 +02:00
Brandon Lewis
2f18595e6e
ges/ges-track-transition.{c,h}: add ability to change smptealpha type
2010-06-09 11:28:10 +02:00
Brandon Lewis
7beb6a5e5e
ges/ges-timeline-transition.{c,h}: api change, pass gint instead of GEnumValue
...
to new()
2010-06-09 11:28:10 +02:00
Brandon Lewis
22534176d8
ges/ges-timeline-transition.{c,h},tests/.../transition.c: type change of vtype
...
to gint from GEnumValue
2010-06-09 11:28:10 +02:00
Brandon Lewis
e69dcea71a
ges/ges-timeline-transition.c: sync with API change in previous commit
2010-06-09 11:28:10 +02:00
Brandon Lewis
3caed9bff4
ges/ges-track-transition.{c,h}: api change: pass gint instead of GEnumValue
2010-06-09 11:28:10 +02:00
Brandon Lewis
b3ec2bad19
ges/ges-track-transition.{c,h}, tests/check/ges/transition.c: change vtype
...
from GEnumValue to simple gint;
2010-06-09 11:28:10 +02:00
Brandon Lewis
d4c60b059d
ges/ges-track-filesource.h: fix typo in documentation commments
2010-06-09 11:28:09 +02:00
Brandon Lewis
bc291a986d
ges/ges-track-filesource.h: fix incorrect definition of GESTrackFileSource
...
structs.
2010-06-09 11:28:09 +02:00
Brandon Lewis
93534c0500
Add missing documentation
2010-06-09 11:28:09 +02:00
Brandon Lewis
812713cf2f
ges/ges-track-transition.c: implement audio crossfades
2010-06-09 11:28:09 +02:00
Brandon Lewis
79ebc389e0
ges/ges-track-transition.{c,h}: add fields for audio interpolation to obj
2010-06-09 11:28:09 +02:00
Brandon Lewis
542e8afb75
fix bugs
2010-06-09 11:28:09 +02:00
Brandon Lewis
07693f56f8
ges/ges-track-transition.{c,h}: rename some members of ges-track-transition
...
struct to separate between audio and video objects.
2010-06-09 11:28:09 +02:00
Brandon Lewis
280aef4f6e
ges/ges-track-transition.c: factor out code which produces video bin into a
...
seprate routine
2010-06-09 11:28:09 +02:00
Brandon Lewis
962a1d17d7
ges/ges-track-transition.c: give gnloperations a unique name
2010-06-09 11:28:09 +02:00
Brandon Lewis
899f4f35c5
ges/ges-simple-timeline-layer.c: also error when transition duration exceeds
...
that of its neighbors
2010-06-09 11:28:09 +02:00
Brandon Lewis
ae34d99867
ges/ges-simple-timeline-layer.c: don't allow user to create timelines with
...
adjacent transitions
2010-06-09 11:28:09 +02:00
Brandon Lewis
e5ae1405c8
ges/ges-simple-timeline-layer.c: implement simple stair-step like priority
...
management scheme.
2010-06-09 11:28:08 +02:00
Brandon Lewis
ff4443a9c6
ges/ges-timeline-transition.{c,h}: add convenience routine for creating
...
transitions
docs/libs/ges-sections.txt: add routine to documentation
2010-06-09 11:28:08 +02:00
Brandon Lewis
1d3d367e75
ges/ges-track-transition.{c,h}: add support for other wipes with smptealpha
2010-06-09 11:28:08 +02:00
Brandon Lewis
48eeb8d913
ges/ges-timeline-transition.{c,h}: add a type field
2010-06-09 11:28:08 +02:00
Brandon Lewis
998ae5af20
ges-track-transition.c: set interpolation control points properly from
...
gnlobject properties
2010-06-09 11:28:07 +02:00
Brandon Lewis
28f1acba81
ges-track-transition.c: GstControlSource -> GstInterpolationControlSource
2010-06-09 11:28:07 +02:00
Brandon Lewis
5afc67f3e5
ges-track-transition.c: create gst-controller for transition
2010-06-09 11:28:07 +02:00
Brandon Lewis
6728e4dd8d
ges-track-transition.c: add controller and control-source members
2010-06-09 11:28:07 +02:00
Brandon Lewis
e3549deec2
depend on GST_CONTROLLER
2010-06-09 11:28:07 +02:00
Brandon Lewis
c9a2f73579
hacking
2010-06-09 11:28:07 +02:00
Brandon Lewis
3cc23d98ea
ges/ges-types.h: add typedefs for GESTrackTransition[Class] structs
2010-06-09 11:28:07 +02:00
Brandon Lewis
eeae501a0a
ges-track-transition.h: fix typo
2010-06-09 11:28:07 +02:00
Brandon Lewis
b557a5e3bd
ges/Makefile.am: dist ges-track-transition.c,h
2010-06-09 11:28:07 +02:00
Brandon Lewis
7918bbec14
skeletal implementation of GESTrackTransition
2010-06-09 11:28:06 +02:00
Brandon Lewis
f42d7179d8
check-in ges-track-transition.h
2010-06-09 11:28:06 +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
3b8ea491d7
GES: Add a new utility file
...
API : ges_timeline_new_audio_video()
2010-05-25 16:35:27 +02:00
Edward Hervey
a17900813a
GESTimelinePipeline: Only remove the playsink if it was used
2010-05-20 12:29:30 +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
Edward Hervey
eb4b02f3ed
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:24:44 +02:00
Edward Hervey
133e8ec94a
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:19:37 +02:00
Edward Hervey
2df711cd60
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-19 12:14:34 +02:00
Edward Hervey
6753d176d7
configure: Depend on gstreamer-discoverer
2010-05-18 19:07:27 +02:00
Edward Hervey
14a6a5f31d
GESTrack: Make GESTrackType a flag, and add GES_TRACK_TYPE_UNKNOWN
...
Also add a bit more documentation about it.
2010-05-18 17:43:28 +02:00
Edward Hervey
505030b1a7
GESTimelineObject: Document CreateTrackObjectFunc vmethod
2010-05-18 12:56:24 +02:00
Edward Hervey
fbc80b1955
GESTimelinePipeline: Fix 32bit runtime issues
2010-05-10 12:44:56 +02:00
Edward Hervey
e747ad4867
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-07 13:37:33 +02:00
Edward Hervey
2b589d4d29
GESTimelinePipeline: Remove unused variable/label.
2010-04-27 11:45:15 +02:00
Edward Hervey
7aedc2bcfb
GESTimelinePipeline: Cleanup properly when pads are removed
2010-04-20 13:47:08 +02:00
Edward Hervey
d3c8b52c9c
GESTimelinePipeline: Implement smart rendering
2010-04-20 13:47:08 +02:00
Edward Hervey
f909ff239f
GESTimelinePipeline: Store encoding profile
2010-04-20 13:47:08 +02:00
Edward Hervey
adada51a2d
GESTimelinePipeline: New Smart Render mode
2010-04-20 13:47:07 +02:00
Edward Hervey
75389d6493
GESTimelinePipeline: new functions to search/create OutputChain
2010-04-20 13:47:07 +02:00
Edward Hervey
2d7962bf93
GESTimelinePipeline: Remove unused code
2010-04-20 13:47:07 +02:00
Edward Hervey
e795bd056d
GESTrack: set caps on the composition
...
This will allow them to be propagated to all objects contained within
2010-04-20 13:47:07 +02:00
Mark Nauwelaerts
10be8697df
GESTimeLine(PipeLine): remove additional unref
2010-04-20 13:47:07 +02:00
Edward Hervey
7dc4844507
ges: Link gstprofile
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
b78aa12aee
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 16:05:37 +01:00
Edward Hervey
9d8ee15a20
GESTimelineObject: Fix doc of priority property
2010-03-13 15:56:57 +01:00
Edward Hervey
fd15030ff1
GESTrackFileSource: Don't forget to free the URI string
2010-03-13 15:56:57 +01:00
Edward Hervey
9b1a434e95
GESTimelineLayer: Add a 'priority' property
2010-03-13 15:56:57 +01:00
Edward Hervey
dafe3d2bb4
GESTimeline: Properly iterate TrackObject lists when removing them
2010-03-13 15:56:57 +01:00
Edward Hervey
83cc796cc9
GESTimelineObject: Don't leak a reference when creating TrackObject
2010-03-13 15:54:32 +01:00
Edward Hervey
62c24ee380
GESTimelineObject: new API : _find_track_object
...
This allows getting the TrackObject for a corresponding TimelineObject
and Track combination
2010-03-13 15:53:58 +01:00
Edward Hervey
51e59a6edc
GESTimelinePipeline: Add comment for _set_render_settings
2010-01-08 18:21:08 +01:00
Edward Hervey
b4e36fe853
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 18:14:46 +01:00
Edward Hervey
15c0013732
ges: Small doc fixups
2009-12-11 15:24:56 +01:00
Edward Hervey
852eca115e
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:20:35 +01:00
Edward Hervey
e0f61dcd80
GESTrackObject: Store pending values when GnlObject isn't created yet
2009-12-11 15:20:35 +01:00
Edward Hervey
82af34bb87
GESTimelinePipeline: Sync state of newly added element to container
2009-12-11 15:20:35 +01:00
Edward Hervey
5396476e7c
GESTimelinePipeline: Don't forget to remember the mode
2009-12-11 15:20:13 +01:00
Edward Hervey
1d0f6faf94
GESTimelineFileSource: Properly handle mute
...
mute != active
2009-12-11 15:20:13 +01:00
Edward Hervey
aedf73803d
GESTimelinePipeline: More render support
2009-12-11 15:20:13 +01:00
Edward Hervey
2d430098f8
GESTimelinePipeline: beginning of render support
2009-12-11 15:19:54 +01:00
Edward Hervey
dd9d3e420c
ges/: Fix copyright in headers
2009-11-30 15:14:25 +01:00
Edward Hervey
a55e798fa2
timelinefilesource: Free URI when finalizing
2009-11-25 13:17:01 +01:00
Edward Hervey
22fb8c0eec
trackobject: priority is a uint32
2009-11-25 13:17:01 +01:00
Edward Hervey
5ddf789cb4
TimelineObject: Add missing argument to printf statement
2009-11-25 13:17:01 +01:00
Edward Hervey
0493fbcc57
customtimelinesource: Fix indentation
2009-11-25 13:17:01 +01:00
Edward Hervey
5f187a5349
docs: Add overview and architecture document and cleanup docs more.
2009-11-12 20:11:28 +01:00
Edward Hervey
dcfe814e78
GESTimelineObject: First set the duration and priority before the inpoint.
2009-09-30 16:44:41 +02:00
Edward Hervey
3deb1fc885
GESTimelineFileSource: Add a 'mute' property.
...
This property deactivates the audio trackobjects if set to TRUE
2009-09-30 16:44:12 +02:00
Edward Hervey
1489c583af
GESTrackObject: Listen to property change from gnlobject
...
TODO: add/emit the 'changed' signal
2009-09-30 16:43:12 +02:00
Edward Hervey
ab8ea4c6a5
GESTrackObject: Add convenience macros for accessing properties
2009-09-30 16:42:31 +02:00
Edward Hervey
09c08e320a
GESTrackObject: Set sane default values
2009-09-30 16:42:08 +02:00
Edward Hervey
f18bb72d04
GESTrackObject: Add 'active' property.
...
This property allows (de)activating a track object
2009-09-30 16:41:47 +02:00
Edward Hervey
0deacd5a0c
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:55 +02:00
Edward Hervey
6765ee21ce
ges-timeline-layer.h: Add comment
2009-09-29 15:27:17 +02:00
Edward Hervey
733aebfb1c
ges-timeline-object: Add convenience macros
2009-09-29 15:25:54 +02:00
Edward Hervey
aedc431994
New GESTimelineFileSource and GESTrackFileSource classes
2009-09-21 18:07:44 +02:00
Edward Hervey
b54487fe11
Finish public API documentation
2009-09-16 12:37:45 +02:00
Edward Hervey
ecef062c8c
GESTrack: The track steals the refcount to the caps. document that.
2009-09-14 19:48:16 +02:00
Edward Hervey
8c340412cd
GESTimeline: Fix reference counting of tracks, add docs.
2009-09-14 19:48:05 +02:00
Edward Hervey
1dc12c9658
GESTimelineLayer: Fix reference handling of objects, add docs.
2009-09-14 19:48:02 +02:00
Edward Hervey
15aba65202
GESTimeline: start more documentation
2009-09-14 19:47:56 +02:00
Edward Hervey
89429a9225
GESTrackObject: Document some more
2009-09-14 19:47:53 +02:00
Edward Hervey
2a6f0c406c
GESTrack: document more
2009-09-14 19:47:37 +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
ea7831cac0
GESTimelinePipeline: Reconfigure playsink once we've added a pad.
2009-09-09 12:42:29 +02:00
Edward Hervey
de31b79ee4
GESTimelinePipeline: Use 'playsink', track added/removed pads.
...
Also add a method to set a GESTimeline on the pipeline.
2009-09-08 19:45:08 +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
ae6ac876b1
GESTrack: Add TrackType enum and constructor property.
...
This allows us to speed up detection of track content type.
2009-09-08 18:49:22 +02:00
Edward Hervey
d83dfd6402
CustomTimelineSource: Fix typo in debug statement
2009-09-08 18:47:46 +02:00
Edward Hervey
ba9e60ae1b
GESTimelinePipeline: Fix typo
2009-09-07 15:46:44 +02:00
Edward Hervey
e60bbe1102
TrackObject: Add debugging and make default duration 1s
2009-08-07 20:36:51 +02:00
Edward Hervey
2e41cb04a3
TimelineObject: Add start/inpoint/duration/priority properties and propagate them
2009-08-07 20:36:51 +02:00
Edward Hervey
9fae1526bb
Track: Handle pads
2009-08-07 20:36:46 +02:00
Edward Hervey
c06e2a9550
Track: Add convenience methods for creating a raw Audio or Video track.
2009-08-07 20:32:29 +02:00
Edward Hervey
83c3e87661
CustomTimelineSource: Allow giving user_data to the callback
2009-08-07 20:31:11 +02:00
Edward Hervey
d8444f3844
Add 'caps' property on Track
2009-08-07 18:18:42 +02:00
Edward Hervey
cafbc229e8
Fix build. Can now run make distcheck.
2009-08-07 17:11:33 +02:00
Edward Hervey
f94f53f87c
Track: Add/Remove the GnlComposition from ourself.
2009-08-07 16:51:49 +02:00
Edward Hervey
3ce00c0308
TrackSource: Include TrackObject header file
2009-08-07 16:46:57 +02:00
Edward Hervey
fe8fbe88ea
ges.c: Add debug line to inform of initialization
2009-08-07 16:46:35 +02:00
Edward Hervey
f7da500651
New CustomTimelineSource class.
2009-08-07 16:45:16 +02:00
Edward Hervey
b7b88e5826
Track: Implement remove_object()
2009-08-07 16:43:49 +02:00
Edward Hervey
dc16b626c8
TrackObject: Add 'valid' property, Make _set_track() return a bool
2009-08-07 16:43:01 +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
02e1f3910d
TimelineSource: Implenent _create_track_object() virtual-method
2009-08-07 16:40:51 +02:00
Edward Hervey
246599e2f6
TimelineObject: Implement _release_track_object()
2009-08-07 16:39:45 +02:00
Edward Hervey
b10743ef9a
TimelineLayer: Implement _remove_object()
2009-08-07 16:39:09 +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
7860b814d6
Add new GESTrackSource
2009-08-06 18:54:01 +02:00
Edward Hervey
c4649938fd
intermediary commit. Still need to fill in more blanks :(
2009-08-06 17:38:43 +02:00
Edward Hervey
b6fccd5771
Add signal marshalling code
2009-08-06 12:47:38 +02:00
Edward Hervey
f3131a2f6a
build fixed again. Moved type declarations in a standalone file.
2009-08-06 12:14:37 +02:00
Edward Hervey
081f4805ef
src/ => ges/
2009-08-06 11:24:04 +02:00