mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-08 15:32:32 +00:00
Find the seeking properties in GstBin objects too.
Original commit message from CVS: Find the seeking properties in GstBin objects too.
This commit is contained in:
parent
fe9384f440
commit
77c7cda3eb
1 changed files with 13 additions and 17 deletions
|
@ -142,7 +142,7 @@ gst_play_init (GstPlay *play)
|
||||||
|
|
||||||
colorspace = gst_elementfactory_make ("colorspace", "colorspace");
|
colorspace = gst_elementfactory_make ("colorspace", "colorspace");
|
||||||
if (colorspace == NULL) {
|
if (colorspace == NULL) {
|
||||||
g_warning ("could not create a colorspace element, doing without");
|
g_warning ("could not create the 'colorspace' element, doing without");
|
||||||
gst_element_add_ghost_pad (priv->video_element,
|
gst_element_add_ghost_pad (priv->video_element,
|
||||||
gst_element_get_pad (priv->video_show, "sink"),
|
gst_element_get_pad (priv->video_show, "sink"),
|
||||||
"sink");
|
"sink");
|
||||||
|
@ -237,7 +237,7 @@ gst_play_object_introspect (GstObject *object, const gchar *property, GstElement
|
||||||
GtkArgInfo *arg;
|
GtkArgInfo *arg;
|
||||||
GstElement *element;
|
GstElement *element;
|
||||||
|
|
||||||
if (!GST_IS_ELEMENT (object))
|
if (!GST_IS_ELEMENT (object) && !GST_IS_BIN (object))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
element = GST_ELEMENT (object);
|
element = GST_ELEMENT (object);
|
||||||
|
@ -270,20 +270,16 @@ gst_play_object_added (GstAutoplug* autoplug, GstObject *object, GstPlay *play)
|
||||||
priv->can_seek = FALSE;
|
priv->can_seek = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GST_IS_BIN (object)) {
|
// first come first serve here...
|
||||||
//gtk_signal_connect (GTK_OBJECT (object), "object_added", gst_play_object_added, play);
|
if (!priv->offset_element)
|
||||||
}
|
gst_play_object_introspect (object, "offset", &priv->offset_element);
|
||||||
else {
|
if (!priv->bit_rate_element)
|
||||||
// first come first serve here...
|
gst_play_object_introspect (object, "bit_rate", &priv->bit_rate_element);
|
||||||
if (!priv->offset_element)
|
if (!priv->media_time_element)
|
||||||
gst_play_object_introspect (object, "offset", &priv->offset_element);
|
gst_play_object_introspect (object, "media_time", &priv->media_time_element);
|
||||||
if (!priv->bit_rate_element)
|
if (!priv->current_time_element)
|
||||||
gst_play_object_introspect (object, "bit_rate", &priv->bit_rate_element);
|
gst_play_object_introspect (object, "current_time", &priv->current_time_element);
|
||||||
if (!priv->media_time_element)
|
|
||||||
gst_play_object_introspect (object, "media_time", &priv->media_time_element);
|
|
||||||
if (!priv->current_time_element)
|
|
||||||
gst_play_object_introspect (object, "current_time", &priv->current_time_element);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -390,7 +386,7 @@ gst_play_set_uri (GstPlay *play, const guchar *uri)
|
||||||
g_free (priv->uri);
|
g_free (priv->uri);
|
||||||
|
|
||||||
|
|
||||||
/* see if it looks like a ARI */
|
/* see if it looks like an URI */
|
||||||
if ((uriloc = strstr (uri, ":/"))) {
|
if ((uriloc = strstr (uri, ":/"))) {
|
||||||
priv->src = gst_elementfactory_make ("gnomevfssrc", "srcelement");
|
priv->src = gst_elementfactory_make ("gnomevfssrc", "srcelement");
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue