diff options
Diffstat (limited to 'gst/switch/gstswitch.h')
-rw-r--r-- | gst/switch/gstswitch.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/gst/switch/gstswitch.h b/gst/switch/gstswitch.h index ed6b2f27..b546ba29 100644 --- a/gst/switch/gstswitch.h +++ b/gst/switch/gstswitch.h @@ -35,26 +35,24 @@ G_BEGIN_DECLS #define GST_IS_SWITCH_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_SWITCH)) -typedef struct _GstSwitchPad GstSwitchPad; - typedef struct _GstSwitch GstSwitch; typedef struct _GstSwitchClass GstSwitchClass; -struct _GstSwitchPad { - GstPad *sinkpad; - GstData *data; - gboolean forwarded; - gboolean eos; -}; - struct _GstSwitch { GstElement element; - GList *sinkpads; + GstPad *active_sinkpad; GstPad *srcpad; guint nb_sinkpads; - guint active_sinkpad; + /* this hash table stores for key of the pad pointer + * the last new segment event received for this pad + * so when switching we can send new segment events + */ + GHashTable *newsegment_events; + /* flag to decide whether we need to send a new segment event + * before we receive the next buffer */ + gboolean need_to_send_newsegment; }; struct _GstSwitchClass { |