mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
103 lines
2.7 KiB
HTML
103 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>
|