[rygel-gst-0-10-fullscreen-renderer] Implement byte seeking
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel-gst-0-10-fullscreen-renderer] Implement byte seeking
- Date: Thu, 9 Apr 2015 18:07:10 +0000 (UTC)
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]