mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-25 18:14:15 +00:00
GESTimelinePipeline: new functions to search/create OutputChain
This commit is contained in:
parent
2d7962bf93
commit
75389d6493
1 changed files with 30 additions and 1 deletions
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GESTimelinePipeline *pipeline;
|
GESTrack *track;
|
||||||
GstElement *tee;
|
GstElement *tee;
|
||||||
GstPad *srcpad; /* Timeline source pad */
|
GstPad *srcpad; /* Timeline source pad */
|
||||||
GstPad *playsinkpad;
|
GstPad *playsinkpad;
|
||||||
|
@ -48,6 +48,10 @@ G_DEFINE_TYPE (GESTimelinePipeline, ges_timeline_pipeline, GST_TYPE_PIPELINE);
|
||||||
static GstStateChangeReturn ges_timeline_pipeline_change_state (GstElement *
|
static GstStateChangeReturn ges_timeline_pipeline_change_state (GstElement *
|
||||||
element, GstStateChange transition);
|
element, GstStateChange transition);
|
||||||
|
|
||||||
|
static OutputChain *get_output_chain_for_track (GESTimelinePipeline * self,
|
||||||
|
GESTrack * track);
|
||||||
|
static OutputChain *new_output_chain_for_track (GESTimelinePipeline * self,
|
||||||
|
GESTrack * track);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ges_timeline_pipeline_finalize (GObject * object)
|
ges_timeline_pipeline_finalize (GObject * object)
|
||||||
|
@ -138,6 +142,31 @@ done:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static OutputChain *
|
||||||
|
new_output_chain_for_track (GESTimelinePipeline * self, GESTrack * track)
|
||||||
|
{
|
||||||
|
OutputChain *chain;
|
||||||
|
|
||||||
|
chain = g_new0 (OutputChain, 1);
|
||||||
|
chain->track = track;
|
||||||
|
|
||||||
|
return chain;
|
||||||
|
}
|
||||||
|
|
||||||
|
static OutputChain *
|
||||||
|
get_output_chain_for_track (GESTimelinePipeline * self, GESTrack * track)
|
||||||
|
{
|
||||||
|
GList *tmp;
|
||||||
|
|
||||||
|
for (tmp = self->chains; tmp; tmp = tmp->next) {
|
||||||
|
OutputChain *chain = (OutputChain *) tmp->data;
|
||||||
|
if (chain->track == track)
|
||||||
|
return chain;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Fetches a ocmpatible pad on the target element which isn't already
|
/* Fetches a ocmpatible pad on the target element which isn't already
|
||||||
* linked */
|
* linked */
|
||||||
static GstPad *
|
static GstPad *
|
||||||
|
|
Loading…
Reference in a new issue