4 #include "attachmentpoint.inc"
6 #include "commonrender.inc"
11 #include "maxchannels.h"
15 #include "pluginarray.inc"
16 #include "pluginserver.inc"
17 #include "pluginset.inc"
18 #include "renderengine.inc"
19 #include "sharedlocation.inc"
25 Module(RenderEngine
*renderengine
,
26 CommonRender
*commonrender
,
27 PluginArray
*plugin_array
,
32 virtual void create_objects();
33 void create_new_attachments();
34 void swap_attachments();
35 virtual AttachmentPoint
* new_attachment(Plugin
*plugin
) { return 0; };
36 virtual int get_buffer_size() { return 0; };
38 AttachmentPoint
* attachment_of(Plugin
*plugin
);
41 void update_transition(int64_t current_position
, int direction
);
44 // CICache used during effect
46 // EDL used during effect
48 CommonRender
*commonrender
;
49 RenderEngine
*renderengine
;
50 PluginArray
*plugin_array
;
52 // TRACK_AUDIO or TRACK_VIDEO
55 // Pointer to transition in EDL
57 // PluginServer for transition
58 PluginServer
*transition_server
;
59 // Currently active plugins.
60 // Use one AttachmentPoint for every pluginset to allow shared plugins to create
61 // extra plugin servers.
62 // AttachmentPoints are 0 if there is no plugin on the pluginset.
63 AttachmentPoint
**attachments
;
64 int total_attachments
;
65 // AttachmentPoints are swapped in at render start to keep unchanged modules
67 AttachmentPoint
**new_attachments
;
68 int new_total_attachments
;