mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
input-selector: Remove obsolete 'block' signal
This signal blocks the input-selector with no means of unblocking other than a state change back to READY. It seems this signal was part of an old way of synchronously switching the selector, together with the already-removed 'switch' signal. Removing the signal is safe, as attempting to use it could only end in deadlocks. Attempting to emit an unknown signal just causes g_criticals. https://bugzilla.gnome.org/show_bug.cgi?id=736891
This commit is contained in:
parent
ce663311e1
commit
7a1ebbe0e3
2 changed files with 0 additions and 52 deletions
|
@ -125,15 +125,6 @@ enum
|
||||||
PROP_PAD_ALWAYS_OK
|
PROP_PAD_ALWAYS_OK
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
/* methods */
|
|
||||||
SIGNAL_BLOCK,
|
|
||||||
SIGNAL_SWITCH,
|
|
||||||
LAST_SIGNAL
|
|
||||||
};
|
|
||||||
static guint gst_input_selector_signals[LAST_SIGNAL] = { 0 };
|
|
||||||
|
|
||||||
static void gst_input_selector_active_pad_changed (GstInputSelector * sel,
|
static void gst_input_selector_active_pad_changed (GstInputSelector * sel,
|
||||||
GParamSpec * pspec, gpointer user_data);
|
GParamSpec * pspec, gpointer user_data);
|
||||||
static inline gboolean gst_input_selector_is_active_sinkpad (GstInputSelector *
|
static inline gboolean gst_input_selector_is_active_sinkpad (GstInputSelector *
|
||||||
|
@ -1178,7 +1169,6 @@ static GstStateChangeReturn gst_input_selector_change_state (GstElement *
|
||||||
|
|
||||||
static gboolean gst_input_selector_event (GstPad * pad, GstObject * parent,
|
static gboolean gst_input_selector_event (GstPad * pad, GstObject * parent,
|
||||||
GstEvent * event);
|
GstEvent * event);
|
||||||
static gint64 gst_input_selector_block (GstInputSelector * self);
|
|
||||||
|
|
||||||
#define _do_init \
|
#define _do_init \
|
||||||
GST_DEBUG_CATEGORY_INIT (input_selector_debug, \
|
GST_DEBUG_CATEGORY_INIT (input_selector_debug, \
|
||||||
|
@ -1264,20 +1254,6 @@ gst_input_selector_class_init (GstInputSelectorClass * klass)
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
|
||||||
GST_PARAM_MUTABLE_READY));
|
GST_PARAM_MUTABLE_READY));
|
||||||
|
|
||||||
/**
|
|
||||||
* GstInputSelector::block:
|
|
||||||
* @inputselector: the #GstInputSelector
|
|
||||||
*
|
|
||||||
* Block all sink pads in preparation for a switch. Returns the stop time of
|
|
||||||
* the current switch segment, as a running time, or 0 if there is no current
|
|
||||||
* active pad or the current active pad never received data.
|
|
||||||
*/
|
|
||||||
gst_input_selector_signals[SIGNAL_BLOCK] =
|
|
||||||
g_signal_new ("block", G_TYPE_FROM_CLASS (klass),
|
|
||||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
|
||||||
G_STRUCT_OFFSET (GstInputSelectorClass, block), NULL, NULL,
|
|
||||||
g_cclosure_marshal_generic, G_TYPE_INT64, 0);
|
|
||||||
|
|
||||||
gst_element_class_set_static_metadata (gstelement_class, "Input selector",
|
gst_element_class_set_static_metadata (gstelement_class, "Input selector",
|
||||||
"Generic", "N-to-1 input stream selector",
|
"Generic", "N-to-1 input stream selector",
|
||||||
"Julien Moutte <julien@moutte.net>, "
|
"Julien Moutte <julien@moutte.net>, "
|
||||||
|
@ -1291,8 +1267,6 @@ gst_input_selector_class_init (GstInputSelectorClass * klass)
|
||||||
gstelement_class->request_new_pad = gst_input_selector_request_new_pad;
|
gstelement_class->request_new_pad = gst_input_selector_request_new_pad;
|
||||||
gstelement_class->release_pad = gst_input_selector_release_pad;
|
gstelement_class->release_pad = gst_input_selector_release_pad;
|
||||||
gstelement_class->change_state = gst_input_selector_change_state;
|
gstelement_class->change_state = gst_input_selector_change_state;
|
||||||
|
|
||||||
klass->block = GST_DEBUG_FUNCPTR (gst_input_selector_block);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1740,27 +1714,3 @@ gst_input_selector_change_state (GstElement * element,
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint64
|
|
||||||
gst_input_selector_block (GstInputSelector * self)
|
|
||||||
{
|
|
||||||
gint64 ret = 0;
|
|
||||||
GstSelectorPad *spad;
|
|
||||||
|
|
||||||
GST_INPUT_SELECTOR_LOCK (self);
|
|
||||||
|
|
||||||
if (self->blocked)
|
|
||||||
GST_WARNING_OBJECT (self, "switch already blocked");
|
|
||||||
|
|
||||||
self->blocked = TRUE;
|
|
||||||
spad = GST_SELECTOR_PAD_CAST (self->active_sinkpad);
|
|
||||||
|
|
||||||
if (spad)
|
|
||||||
ret = gst_selector_pad_get_running_time (spad);
|
|
||||||
else
|
|
||||||
GST_DEBUG_OBJECT (self, "no active pad while blocking");
|
|
||||||
|
|
||||||
GST_INPUT_SELECTOR_UNLOCK (self);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
|
@ -83,8 +83,6 @@ struct _GstInputSelector {
|
||||||
|
|
||||||
struct _GstInputSelectorClass {
|
struct _GstInputSelectorClass {
|
||||||
GstElementClass parent_class;
|
GstElementClass parent_class;
|
||||||
|
|
||||||
gint64 (*block) (GstInputSelector *self);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
G_GNUC_INTERNAL GType gst_input_selector_get_type (void);
|
G_GNUC_INTERNAL GType gst_input_selector_get_type (void);
|
||||||
|
|
Loading…
Reference in a new issue