Commit graph

309 commits

Author SHA1 Message Date
Brandon Lewis
622f0d7718 create transition subtype according to track type 2010-07-09 13:21:11 +02:00
Brandon Lewis
071ea8fb26 check in GESTrackVideoTransition, empty subclass of TrackTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
b2d36e8d9f check in GESTrackAudioTransition, empyt subclass of TrackTransition 2010-07-09 13:21:11 +02:00
Brandon Lewis
eb96fafc65 fix header file param names 2010-07-09 13:21:11 +02:00
Brandon Lewis
da566f9521 fix stupid copy/paste typo 2010-07-09 13:21:10 +02:00
Brandon Lewis
e417c4c656 free existing strings before assigning new ones 2010-07-09 13:21:10 +02:00
Brandon Lewis
aa19ff62ec implement {h,v}alignment property for timeline titles 2010-07-09 13:21:10 +02:00
Brandon Lewis
08d94f7e38 add ..._set_{h,v}alignment() methods to video titles 2010-07-09 13:21:10 +02:00
Brandon Lewis
c0f0d6f5f4 add font-desc property to TimelineTitleSource 2010-07-09 13:21:10 +02:00
Brandon Lewis
bae04feef4 add ...set_font_desc() method to VideoTitleSource 2010-07-09 13:21:10 +02:00
Brandon Lewis
ac31f1ab4d set black background on titles by default 2010-07-09 13:21:10 +02:00
Brandon Lewis
1c27454a80 have timeline title source create audio title sources 2010-07-09 13:21:10 +02:00
Brandon Lewis
7da9439668 check in ges-track-audio-title-source.{c,h} 2010-07-09 13:21:10 +02:00
Brandon Lewis
43583aaa16 don't forget to check for null 2010-07-09 13:21:09 +02:00
Brandon Lewis
6f49bdd90c set text on video track objects when text property changes 2010-07-09 13:21:09 +02:00
Brandon Lewis
ce3300dfa8 implement ges_timeline_title_source_create_track_object 2010-07-09 13:21:09 +02:00
Brandon Lewis
6f906db0b9 remove trailing '$' accidentally pasted 2010-07-09 13:21:09 +02:00
Brandon Lewis
0dac374785 these should have been checked in before 2010-07-09 13:21:09 +02:00
Brandon Lewis
643bcb7bcc add text property to GESTimelineTitleSource 2010-07-09 13:21:09 +02:00
Brandon Lewis
b0358d5da1 massive update to doc comments 2010-07-09 13:21:09 +02:00
Brandon Lewis
709332ef09 remove the zone plate and gamut enum values 2010-07-09 13:21:09 +02:00
Brandon Lewis
f804f09845 check in skeletal GESTrackVideoTitleSource 2010-07-09 13:21:09 +02:00
Brandon Lewis
a9be66a91a check in skeletal GESTrackTitleSource 2010-07-09 13:21:09 +02:00
Brandon Lewis
3ed3fc87b7 check in sekeletal GESTimelineTitleSource 2010-07-09 13:21:08 +02:00
Brandon Lewis
efb7524a0a test vpatern property in unit tests 2010-07-09 13:21:08 +02:00
Brandon Lewis
d48c10c026 make audio background-sources output silence 2010-07-09 13:21:08 +02:00
Brandon Lewis
7370d3ab7c don't initialize vpattern field 2010-07-09 13:21:08 +02:00
Brandon Lewis
2d022c8886 implement ges_timeline_background_source_new_for_nick() 2010-07-09 13:21:08 +02:00
Brandon Lewis
fcab9fa0b3 move enum table into file scope 2010-07-09 13:21:08 +02:00
Brandon Lewis
cf99d81a51 set pattern on newly-created video track objects 2010-07-09 13:21:08 +02:00
Brandon Lewis
532e2884a3 implement vpattern gobject property of tl background source 2010-07-09 13:21:08 +02:00
Brandon Lewis
20bb7c73b8 add big blob of pattern enum values copied from videotestsrc 2010-07-09 13:21:08 +02:00
Brandon Lewis
8019f805db add vpattern field to GESTimelineBackground source 2010-07-09 13:21:07 +02:00
Brandon Lewis
12437967ba implement setting pattern on video background sources 2010-07-09 13:21:07 +02:00
Brandon Lewis
2a351841cc add routines to set track object pattern 2010-07-09 13:21:07 +02:00
Brandon Lewis
5e39898c1a add enum for video patterns 2010-07-09 13:21:07 +02:00
Brandon Lewis
f371d2c83e implment GESTimelineBackground source create_track_object 2010-07-09 13:21:07 +02:00
Brandon Lewis
8a6bef074b add audio background source to build system 2010-07-09 13:21:07 +02:00
Brandon Lewis
88175b790a add audio background source to types.h 2010-07-09 13:21:07 +02:00
Brandon Lewis
3c47729062 check in audio background source 2010-07-09 13:21:07 +02:00
Brandon Lewis
8b10e0c065 add ges video-track background to build system 2010-07-09 13:21:07 +02:00
Brandon Lewis
ae5d0de868 check in ges-track-video-background-source.{c,h} 2010-07-09 13:21:07 +02:00
Brandon Lewis
bdee21579b add GESTrackBackgroundSource to build system 2010-07-09 13:21:07 +02:00
Brandon Lewis
77a16602c6 add track background source to header 2010-07-09 13:21:07 +02:00
Brandon Lewis
22707643b0 add track background source to ges-types.h 2010-07-09 13:21:06 +02:00
Brandon Lewis
73ca491f0e check in GESTrackBackgroundSource 2010-07-09 13:21:06 +02:00
Brandon Lewis
323cc10942 add GESTimelineBackgroundSource to build system 2010-07-09 13:21:06 +02:00
Brandon Lewis
4ab734edf0 add timeline background source to header 2010-07-09 13:21:06 +02:00
Brandon Lewis
33a9610cd0 check in ges-timeline-background-source.{c,h} 2010-07-09 13:21:06 +02:00
Edward Hervey
097647e97a GESTimelinePipeline: Fix leaked caps 2010-06-28 17:08:08 +02:00
Edward Hervey
be8cbdb4a1 GESTimelinePipeline: unref all pads 2010-06-21 11:54:01 +02:00
Edward Hervey
575c4865a0 GESTimelinePipeline: Make a copy of the provided GstEncodingProfile 2010-06-21 11:53:30 +02:00
Edward Hervey
6fe60cb694 GESTimelinePipeline: Properly release playsink and encodebin 2010-06-21 11:52:49 +02:00
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