summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis de Bethencourt <luis.debethencourt@collabora.como>2011-05-20 14:58:00 +0200
committerLuis de Bethencourt <luis.debethencourt@collabora.como>2011-05-20 17:05:51 +0200
commitcec3ffc077e2d169796095dd525bcc5321aa1d97 (patch)
treed45acdb5a88c529586675026e66e5e681e2a6b5c
parente518ed6f83799afeb57935a909b6ffecffc75bb3 (diff)
dlna: support volume call
-rw-r--r--src/dlna.c40
-rw-r--r--src/gst_engine.c8
-rw-r--r--src/gst_engine.h3
-rw-r--r--src/snappy.c1
4 files changed, 25 insertions, 27 deletions
diff --git a/src/dlna.c b/src/dlna.c
index 727aa25..af773f1 100644
--- a/src/dlna.c
+++ b/src/dlna.c
@@ -209,18 +209,6 @@ my_object_class_init (SnappyMPClass * class)
g_object_class_install_property (gobject_class,
PROP_NAME,
g_param_spec_string ("name", "Name", "Name", NULL, G_PARAM_READWRITE));
-
- mediaplayer_signals[OPEN_URI] =
- g_signal_newv ("open-uri",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
- NULL,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0,
- NULL);
}
void
@@ -229,7 +217,6 @@ my_object_change_uri (SnappyMP * myobj, gchar * uri)
if (myobj != NULL)
myobj->uri = uri;
- // g_print ("changing uri: %s\n", uri);
g_object_set (G_OBJECT (myobj), "uri", uri, NULL);
engine_open_uri (myobj->engine, uri);
@@ -268,8 +255,6 @@ handle_method_call (GDBusConnection * connection,
gboolean ret = TRUE;
GError *error = NULL;
- // g_print ("handle_method_call: %s\n", method_name);
-
if (g_strcmp0 (object_path, MPRIS_OBJECT_NAME) != 0 ||
g_strcmp0 (interface_name, MPRIS_PLAYER_INTERFACE) != 0) {
g_dbus_method_invocation_return_error (invocation,
@@ -320,6 +305,7 @@ handle_method_call (GDBusConnection * connection,
engine_seek (myobj->engine, position);
handle_result (invocation, ret, error);
+
}
}
@@ -333,12 +319,10 @@ handle_get_property (GDBusConnection * connection,
GVariant *ret;
SnappyMP *myobj = user_data;
- // g_print ("handle_get_property: %s\n", property_name);
-
ret = NULL;
if (g_strcmp0 (property_name, "Name") == 0) {
- //ret = g_variant_new_string (myobj->name ? myobj->name : "");
- ret = g_variant_new_string ("snappy");
+ ret = g_variant_new_string (myobj->name ? myobj->name : "snappy");
+ //ret = g_variant_new_string ("snappy");
} else if (g_strcmp0 (property_name, "PlaybackStatus") == 0) {
ret = g_variant_new_string ("Paused");
@@ -386,6 +370,7 @@ handle_get_property (GDBusConnection * connection,
"application/ogg", "audio/x-vorbis+ogg", "audio/x-flac", "audio/mpeg",
"video/mpeg", "video/quicktime", "video/x-ms-asf", "video/x-msvideo",
"video/ogg", "audio/ogg", "application/annodex", "video/annodex",
+ "video/x-matroska", "audio/x-matroska",
NULL
};
return g_variant_new_strv (fake_supported_mimetypes, -1);
@@ -406,6 +391,12 @@ handle_set_property (GDBusConnection * connection,
if (g_strcmp0 (property_name, "Name") == 0) {
g_object_set (myobj, "name", g_variant_get_string (value, NULL), NULL);
+
+ } else if (g_strcmp0 (property_name, "Volume") == 0) {
+ gdouble level;
+
+ level = g_variant_get_double (value);
+ engine_volume (myobj->engine, level);
}
return TRUE;
@@ -448,8 +439,6 @@ get_root_property (GDBusConnection * connection,
const char *interface_name,
const char *property_name, GError ** error, SnappyMP * mp)
{
- // g_print ("get_root_property: %s\n", property_name);
-
if (g_strcmp0 (object_path, MPRIS_OBJECT_NAME) != 0 ||
g_strcmp0 (interface_name, MPRIS_ROOT_INTERFACE) != 0) {
g_set_error (error,
@@ -468,9 +457,7 @@ get_root_property (GDBusConnection * connection,
} else if (g_strcmp0 (property_name, "Identity") == 0) {
return g_variant_new_string ("snappy");
} else if (g_strcmp0 (property_name, "DesktopEntry") == 0) {
- GVariant *v = NULL;
- char *path;
- return v;
+ return g_variant_new_string ("snappy");
} else if (g_strcmp0 (property_name, "SupportedUriSchemes") == 0) {
/* not planning to support this seriously */
const char *fake_supported_schemes[] = {
@@ -483,6 +470,7 @@ get_root_property (GDBusConnection * connection,
"video/mpeg", "video/quicktime", "video/x-ms-asf", "video/x-msvideo",
"video/ogg", "audio/ogg", "application/annodex", "video/annodex",
"application/ogg", "audio/x-vorbis+ogg", "audio/x-flac", "audio/mpeg",
+ "video/x-matroska", "audio/x-matroska",
NULL
};
return g_variant_new_strv (fake_supported_mimetypes, -1);
@@ -512,8 +500,6 @@ send_property_change (GObject * obj,
g_variant_builder_add (builder,
"{sv}", "Name", g_variant_new_string (myobj->name ? myobj->name : ""));
- // g_print ("some property changed %s\n", pspec->name);
-
g_dbus_connection_emit_signal (connection,
NULL,
"org/mpris/MediaPlayer2",
@@ -586,6 +572,8 @@ load_dlna (SnappyMP *mp)
g_object_unref);
g_assert (mp->owner_id > 0);
+ mp->name = "snappy";
+
return TRUE;
}
diff --git a/src/gst_engine.c b/src/gst_engine.c
index 7da81e5..3e2b424 100644
--- a/src/gst_engine.c
+++ b/src/gst_engine.c
@@ -425,6 +425,14 @@ engine_stop (GstEngine * engine)
}
gboolean
+engine_volume (GstEngine * engine, gdouble level)
+{
+ g_object_set (G_OBJECT (engine->player), "volume", level, NULL);
+
+ return TRUE;
+}
+
+gboolean
frame_stepping (GstEngine * engine, gboolean foward)
{
gboolean ok;
diff --git a/src/gst_engine.h b/src/gst_engine.h
index 401e5e1..ab008c9 100644
--- a/src/gst_engine.h
+++ b/src/gst_engine.h
@@ -55,12 +55,13 @@ gboolean engine_init (GstEngine * engine, GstElement * sink);
gboolean engine_load_uri (GstEngine * engine, gchar * uri);
gboolean engine_open_uri (GstEngine * engine, gchar * uri);
gboolean engine_play (GstEngine * engine);
+gboolean engine_seek (GstEngine * engine, gint64 position);
gboolean engine_stop (GstEngine * engine);
+gboolean engine_volume (GstEngine * engine, gdouble level);
gboolean frame_stepping (GstEngine * engine, gboolean foward);
gchar **get_recently_played ();
GstState get_state (GstEngine * engine);
gint64 query_position (GstEngine * engine);
-gboolean engine_seek (GstEngine * engine, gint64 position);
gboolean change_state (GstEngine * engine, gchar * state);
gboolean update_media_duration (GstEngine * engine);
diff --git a/src/snappy.c b/src/snappy.c
index 0f28248..3983a91 100644
--- a/src/snappy.c
+++ b/src/snappy.c
@@ -204,6 +204,7 @@ main (int argc, char *argv[])
clutter_main ();
close_down (ui, engine);
+ close_dlna (mp_obj);
quit:
g_option_context_free (context);