diff options
author | Richard Röjfors <richard.rojfors@gmail.com> | 2013-11-18 20:39:40 +0100 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2013-11-18 20:40:02 +0100 |
commit | 950501ade6f98fbd569dcba0789d89fbeaf856c5 (patch) | |
tree | b5ed0f0df1ab5634080e403c2c56d38df223c293 /examples | |
parent | a49e943ff361978f18488770546978591699046c (diff) | |
download | rygel-950501ade6f98fbd569dcba0789d89fbeaf856c5.tar.gz |
examples: Fix C renderer plugin
Add new properties.
https://bugzilla.gnome.org/show_bug.cgi?id=712336
Diffstat (limited to 'examples')
-rw-r--r-- | examples/renderer-plugins/C/example-player.c | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/examples/renderer-plugins/C/example-player.c b/examples/renderer-plugins/C/example-player.c index 4ae33483..75accc44 100644 --- a/examples/renderer-plugins/C/example-player.c +++ b/examples/renderer-plugins/C/example-player.c @@ -32,7 +32,10 @@ enum { RYGEL_EXAMPLE_PLAYER_DURATION, RYGEL_EXAMPLE_PLAYER_POSITION, RYGEL_EXAMPLE_PLAYER_PLAYBACK_SPEED, - RYGEL_EXAMPLE_PLAYER_ALLOWED_PLAYBACK_SPEEDS + RYGEL_EXAMPLE_PLAYER_ALLOWED_PLAYBACK_SPEEDS, + RYGEL_EXAMPLE_PLAYER_CAN_SEEK_BYTES, + RYGEL_EXAMPLE_PLAYER_BYTE_POSITION, + RYGEL_EXAMPLE_PLAYER_SIZE }; static void rygel_example_player_rygel_media_player_interface_init (RygelMediaPlayerIface *iface); @@ -100,6 +103,15 @@ rygel_example_player_real_set_playback_speed (RygelMediaPlayer *base, const char static gchar * rygel_example_player_real_get_playback_speed (RygelMediaPlayer *base); +static gint64 +rygel_example_player_real_get_byte_position (RygelMediaPlayer* base); + +static gint64 +rygel_example_player_real_get_size (RygelMediaPlayer* base); + +static gboolean +rygel_example_player_real_get_can_seek_bytes (RygelMediaPlayer* base); + static void _rygel_example_player_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); @@ -158,6 +170,9 @@ rygel_example_player_rygel_media_player_interface_init (RygelMediaPlayerIface *i iface->get_allowed_playback_speeds = rygel_example_player_real_get_allowed_playback_speeds; iface->get_playback_speed = rygel_example_player_real_get_playback_speed; iface->set_playback_speed = rygel_example_player_real_set_playback_speed; + iface->get_can_seek_bytes = rygel_example_player_real_get_can_seek_bytes; + iface->get_size = rygel_example_player_real_get_size; + iface->get_byte_position = rygel_example_player_real_get_byte_position; } static void @@ -213,6 +228,18 @@ rygel_example_player_class_init (RygelExamplePlayerClass *klass) { g_object_class_override_property (gobject_class, RYGEL_EXAMPLE_PLAYER_ALLOWED_PLAYBACK_SPEEDS, "allowed-playback-speeds"); + + g_object_class_override_property (gobject_class, + RYGEL_EXAMPLE_PLAYER_CAN_SEEK_BYTES, + "can-seek-bytes"); + + g_object_class_override_property (gobject_class, + RYGEL_EXAMPLE_PLAYER_BYTE_POSITION, + "byte-position"); + + g_object_class_override_property (gobject_class, + RYGEL_EXAMPLE_PLAYER_SIZE, + "size"); } static void @@ -431,6 +458,27 @@ rygel_example_player_real_get_playback_speed (RygelMediaPlayer *base) return g_strdup (self->priv->playback_speed); } +static gint64 +rygel_example_player_real_get_byte_position (RygelMediaPlayer* base) +{ + RygelExamplePlayer *self = RYGEL_EXAMPLE_PLAYER (base); + return 0; +} + +static gint64 +rygel_example_player_real_get_size (RygelMediaPlayer* base) +{ + RygelExamplePlayer *self = RYGEL_EXAMPLE_PLAYER (base); + return 0; +} + +static gboolean +rygel_example_player_real_get_can_seek_bytes (RygelMediaPlayer* base) +{ + RygelExamplePlayer *self = RYGEL_EXAMPLE_PLAYER (base); + return FALSE; +} + static void _rygel_example_player_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { RygelMediaPlayer *base = RYGEL_MEDIA_PLAYER (object); @@ -473,6 +521,15 @@ _rygel_example_player_get_property (GObject *object, guint property_id, GValue * g_value_take_boxed (value, rygel_media_player_get_allowed_playback_speeds (base, &length)); } break; + case RYGEL_EXAMPLE_PLAYER_CAN_SEEK_BYTES: + g_value_set_boolean (value, rygel_media_player_get_can_seek_bytes (base)); + break; + case RYGEL_EXAMPLE_PLAYER_BYTE_POSITION: + g_value_set_int64 (value, rygel_media_player_get_byte_position (base)); + break; + case RYGEL_EXAMPLE_PLAYER_SIZE: + g_value_set_int64 (value, rygel_media_player_get_size (base)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; |