mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
104 lines
2.7 KiB
HTML
104 lines
2.7 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
|
||
|
<title> Rework the GStreamer Editing Services class hierarchy </title>
|
||
|
<xmp theme="cerulean" style="display:none;">
|
||
|
|
||
|
Reasoning:
|
||
|
----------
|
||
|
|
||
|
All the time (position) related concepts are shared between GESTimelineObject and GESTrackObject
|
||
|
and currently are repeated at the 2 levels.
|
||
|
Moreover, if we want to add the concept of Group we end up with something quite similare to the current
|
||
|
GESTimelineObject but that contains GESTimelineObject-s instead of GESTrackObject-s so we could share
|
||
|
those informations creating a new class aiming at containing the objects that have that
|
||
|
notion of timing.
|
||
|
|
||
|
At the same time, we want to clarify namings. First we should remove the word Object in class names,
|
||
|
we have been told various times that it sounds just "wrong" for people as Objects are instances and there
|
||
|
we are talking about Classes.
|
||
|
|
||
|
Class Hierarchy:
|
||
|
-------------
|
||
|
|
||
|
<pre><code>
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td>
|
||
|
|
||
|
Before:
|
||
|
-------
|
||
|
|
||
|
GESTimelineObject
|
||
|
GESTimelineSource
|
||
|
GESCustomTimelineSource
|
||
|
GESTimelineTestSource
|
||
|
GESTimelineFileSource
|
||
|
GESTimelineTitleSource
|
||
|
GESTimelineOperation
|
||
|
GESTimelineOverlay
|
||
|
GESTimelineTextOverlay
|
||
|
GESTimelineTransition
|
||
|
GESTimelineTransition
|
||
|
GESTimelineEffect
|
||
|
GESTimelineParseLaunchEffect
|
||
|
GESTimelineLayer
|
||
|
GESSimpleTimelineLayer
|
||
|
GESTrackObject
|
||
|
GESTrackSource
|
||
|
GESTrackAudioTestSource
|
||
|
GESTrackFileSource
|
||
|
GESTrackImageSource
|
||
|
GESTrackTitleSource
|
||
|
GESTrackVideoTestSource
|
||
|
GESTrackOperation
|
||
|
GESTrackTransition
|
||
|
GESTrackAudioTransition
|
||
|
GESTrackVideoTransition
|
||
|
GESTrackEffect
|
||
|
GESTrackParseLaunchEffect
|
||
|
GESTrackTextOverlay
|
||
|
</td>
|
||
|
<td>
|
||
|
|
||
|
After:
|
||
|
-------
|
||
|
|
||
|
GESTimelineElement
|
||
|
GESContainer
|
||
|
GESClip
|
||
|
GESSourceClip
|
||
|
GESCustomSourceClip
|
||
|
GESTestClip
|
||
|
GESUriClip
|
||
|
GESTitleClip
|
||
|
GESOperationClip
|
||
|
GESOverlayClip
|
||
|
GESTextOverlayClip
|
||
|
GESBaseTransitionClip
|
||
|
GESTransitionClip
|
||
|
GESBaseEffectClip
|
||
|
GESEffectClip
|
||
|
GESClipGroup
|
||
|
GESTrackElement
|
||
|
GESSource
|
||
|
GESAudioTestSource
|
||
|
GESUriSource
|
||
|
GESImageSource
|
||
|
GESTitleSource
|
||
|
GESVideoTestSource
|
||
|
GESOperation
|
||
|
GESTransition
|
||
|
GESAudioTransition
|
||
|
GESVideoTransition
|
||
|
GESBaseEffect
|
||
|
GESEffect
|
||
|
GESTextOverlay
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</code></pre>
|
||
|
</xmp>
|
||
|
<script src="http://strapdownjs.com/v/0.1/strapdown.js"></script>
|
||
|
</html>
|