mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 18:05:37 +00:00
[512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good
This commit is contained in:
parent
3e18471e8e
commit
25aa8a4042
3 changed files with 959 additions and 433 deletions
File diff suppressed because it is too large
Load diff
|
@ -56,36 +56,31 @@ struct _GstGLMixer
|
|||
GstPad *srcpad;
|
||||
|
||||
/* Lock to prevent the state to change while blending */
|
||||
GMutex *state_lock;
|
||||
GMutex lock;
|
||||
/* Sink pads using Collect Pads from core's base library */
|
||||
GstCollectPads *collect;
|
||||
|
||||
/* sinkpads, a GSList of GstGLMixerPads */
|
||||
GSList *sinkpads;
|
||||
|
||||
GPtrArray *array_buffers;
|
||||
|
||||
gint numpads;
|
||||
|
||||
GstClockTime last_ts;
|
||||
|
||||
/* the master pad */
|
||||
GstGLMixerPad *master;
|
||||
|
||||
gint width;
|
||||
gint height;
|
||||
gboolean setcaps;
|
||||
gboolean sendseg;
|
||||
|
||||
gint fps_n;
|
||||
gint fps_d;
|
||||
|
||||
/* Next available sinkpad index */
|
||||
gint next_sinkpad;
|
||||
|
||||
GPtrArray *array_buffers;
|
||||
|
||||
GstVideoInfo info;
|
||||
|
||||
gboolean newseg_pending;
|
||||
gboolean flush_stop_pending;
|
||||
|
||||
GstSegment segment;
|
||||
GstClockTime ts_offset;
|
||||
guint64 nframes;
|
||||
|
||||
/* sink event handling */
|
||||
GstPadEventFunction collect_event;
|
||||
guint64 segment_position;
|
||||
gdouble segment_rate;
|
||||
gdouble proportion;
|
||||
GstClockTime earliest_time;
|
||||
guint64 qos_processed, qos_dropped;
|
||||
|
||||
GstGLDisplay *display;
|
||||
GLuint fbo;
|
||||
|
|
|
@ -46,7 +46,11 @@ struct _GstGLMixerCollect
|
|||
{
|
||||
GstCollectData collect; /* we extend the CollectData */
|
||||
|
||||
GstBuffer *queued;
|
||||
|
||||
GstBuffer *buffer; /* the queued buffer for this pad */
|
||||
GstClockTime start_time;
|
||||
GstClockTime end_time;
|
||||
|
||||
GstGLMixerPad *mixpad;
|
||||
};
|
||||
|
@ -56,12 +60,8 @@ struct _GstGLMixerPad
|
|||
{
|
||||
GstPad parent; /* subclass the pad */
|
||||
|
||||
gint64 queued;
|
||||
|
||||
gint width;
|
||||
gint height;
|
||||
gint fps_n;
|
||||
gint fps_d;
|
||||
/* <private> */
|
||||
GstVideoInfo info;
|
||||
|
||||
GstGLDisplay *display;
|
||||
|
||||
|
@ -73,5 +73,7 @@ struct _GstGLMixerPadClass
|
|||
GstPadClass parent_class;
|
||||
};
|
||||
|
||||
GType gst_gl_mixer_pad_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_GL_MIXER_PAD_H__ */
|
||||
|
|
Loading…
Reference in a new issue