[rygel-gst-0-10-fullscreen-renderer] Implement byte seeking



commit 9daa99b0cee3f194c4fdb03f6d4b58ff9f073317
Author: Jens Georg <mail jensge org>
Date:   Thu Apr 9 20:05:28 2015 +0200

    Implement byte seeking
    
    Signed-off-by: Jens Georg <mail jensge org>

 src/rygel-playbin-player.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/src/rygel-playbin-player.c b/src/rygel-playbin-player.c
index bc474f0..85c4f44 100644
--- a/src/rygel-playbin-player.c
+++ b/src/rygel-playbin-player.c
@@ -97,6 +97,7 @@ enum  {
 static void rygel_playbin_player_set_playbin (RygelPlaybinPlayer *self, GstElement *value);
 static void rygel_playbin_player_setup_playbin (RygelPlaybinPlayer *self);
 static gboolean rygel_playbin_player_real_seek (RygelMediaPlayer *base, gint64 time);
+static gboolean rygel_playbin_player_real_seek_bytes (RygelMediaPlayer *base, gint64 bytes);
 static gchar **rygel_playbin_player_real_get_protocols (RygelMediaPlayer *base, int *result_length1);
 static gchar **rygel_playbin_player_real_get_mime_types (RygelMediaPlayer *base, int *result_length1);
 static gboolean rygel_playbin_player_is_rendering_image (RygelPlaybinPlayer *self);
@@ -155,6 +156,15 @@ rygel_playbin_player_real_seek (RygelMediaPlayer *base, gint64 time) {
   return gst_element_seek (self->priv->_playbin, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, 
GST_SEEK_TYPE_SET, time * GST_USECOND, GST_SEEK_TYPE_NONE, (gint64) (-1));
 }
 
+static gboolean
+rygel_playbin_player_real_seek_bytes (RygelMediaPlayer *base, gint64 bytes) {
+  RygelPlaybinPlayer *self = RYGEL_PLAYBIN_PLAYER (base);
+  g_return_val_if_fail (self, FALSE);
+  g_return_val_if_fail (self->priv->_playbin, FALSE);
+
+  return gst_element_seek (self->priv->_playbin, 1.0, GST_FORMAT_BYTES, GST_SEEK_FLAG_FLUSH, 
GST_SEEK_TYPE_SET, bytes, GST_SEEK_TYPE_NONE, (gint64) (-1));
+}
+
 
 static gchar**
 rygel_playbin_player_real_get_protocols (RygelMediaPlayer *base, int *result_length) {
@@ -1023,6 +1033,7 @@ static void rygel_playbin_player_rygel_media_player_interface_init (RygelMediaPl
   rygel_playbin_player_rygel_media_player_parent_iface = g_type_interface_peek_parent (iface);
 
   iface->seek = (gboolean (*)(RygelMediaPlayer*, gint64)) rygel_playbin_player_real_seek;
+  iface->seek_bytes = rygel_playbin_player_real_seek_bytes;
   iface->get_protocols = (gchar **(*)(RygelMediaPlayer*, int*)) rygel_playbin_player_real_get_protocols;
   iface->get_mime_types = (gchar **(*)(RygelMediaPlayer*, int*)) rygel_playbin_player_real_get_mime_types;
   iface->get_playback_state = rygel_playbin_player_real_get_playback_state;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]