blob: 46708676005985b1bad90c752475785ace2daf76 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
GnlSource:
- extends from a GstBin
- consist of a single GStreamer pipeline with M output pads
- have a start and stop time
- have one or more output pads, ghosted from the Gst pipeline
GnlLayer:
- extends GstBin
- contains sources
- sources cannot overlap
- sources have start/length properties inside the layer
GnlComposition:
- extends GnlLayer
- can contain GnlLayers, possibly overlapping
GnlOperation:
- extends GnlSource
- also ghosts N input pads in addition to the GnlSources output pads
GnlTimeline
- extends GnlComposition
GstBin
!
+---- GnlSource
! !
! +----- Operation
!
+---- GnlLayer
!
+---- GnlComposition
!
+---- GnlTimeline
.-0----->-----------5000----->------10000----->-----15000---.
! main_timeline !
! !
! .- composition -----------------------------------------. !
! ! ! !
! ! .- layer1 ------------------------------------------. ! !
! ! ! ! ! !
! ! ! .- operation ---. ! ! !
! ! ! ! ! ! ! !
! ! ! ! blend ! ! ! !
! ! ! '---------------' ! ! !
! ! '---------------------------------------------------' ! !
! ! .- layer2 ------------------------------------------. ! !
! ! ! ! ! !
! ! ! .-- source1 -------------------. ! ! !
! ! ! ! ! ! ! !
! ! ! ! /myfile.avi ! ! ! !
! ! ! '------------------------------' ! ! !
! ! '---------------------------------------------------' ! !
! ! .- layer3 ------------------------------------------. ! !
! ! ! .- source2 ---------------------. ! ! !
! ! ! ! ! ! ! !
! ! ! ! /myfile2.avi ! ! ! !
! ! ! '-------------------------------' ! ! !
! ! '---------------------------------------------------' ! !
! '-------------------------------------------------------' !
'-----------------------------------------------------------'
***** (alpha blend 2 layers)
===========
********* (monochrome 1 layer)
=========
|