From 346635455549a9a64a0feade1b1db071a66aa726 Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Thu, 17 May 2007 10:08:24 +0000 Subject: gst/switch/gstswitch.c (ARG_0, ARG_NB_SOURCES, ARG_ACTIVE_SOURCE, Original commit message from CVS: * gst/switch/gstswitch.c (ARG_0, ARG_NB_SOURCES, ARG_ACTIVE_SOURCE, ARG_START_VALUE, ARG_STOP_VALUE, ARG_LAST_TS, ARG_QUEUE_BUFFERS, parent_class, gst_switch_release_pad, gst_switch_request_new_pad, gst_switch_chain, gst_switch_event, gst_switch_set_property, gst_switch_get_property, gst_switch_getcaps, gst_switch_dispose, unref_buffer, unref_buffers_and_destroy_list, gst_switch_init, gst_switch_base_init, gst_switch_class_init): * gst/switch/gstswitch.h (need_to_send_newsegment, queue_buffers, stop_value, start_value, current_start, last_ts, stored_buffers): Add handling of application provided stop and start values, allowing A/V sync across 2 switch elements. --- gst/switch/gstswitch.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gst/switch/gstswitch.h') diff --git a/gst/switch/gstswitch.h b/gst/switch/gstswitch.h index 6f1e4eab..e7a0ed86 100644 --- a/gst/switch/gstswitch.h +++ b/gst/switch/gstswitch.h @@ -54,9 +54,18 @@ struct _GstSwitch { /* flag to decide whether we need to send a new segment event * before we receive the next buffer */ gboolean need_to_send_newsegment; + /* flag to decide whether to queue buffers received from current + * pads */ + gboolean queue_buffers; GstClockTime stop_value; + GstClockTime start_value; GstClockTime current_start; GstClockTime last_ts; + /* this hash tables stores for key of the pad pointer + * a GList of stored buffers that need to be sent once the + * new segment has been sent + */ + GHashTable *stored_buffers; }; struct _GstSwitchClass { -- cgit v1.2.1