rygel r439 - trunk/src/rygel



Author: zeeshanak
Date: Tue Jan 13 14:33:32 2009
New Revision: 439
URL: http://svn.gnome.org/viewvc/rygel?rev=439&view=rev

Log:
Don't handle seeking when streaming.

Turns out that seeking wasn't as simple as sending a seek event
to the pipeline.

Modified:
   trunk/src/rygel/rygel-gst-stream.vala
   trunk/src/rygel/rygel-streamer.vala

Modified: trunk/src/rygel/rygel-gst-stream.vala
==============================================================================
--- trunk/src/rygel/rygel-gst-stream.vala	(original)
+++ trunk/src/rygel/rygel-gst-stream.vala	Tue Jan 13 14:33:32 2009
@@ -41,16 +41,12 @@
 
     private AsyncQueue<Buffer> buffers;
 
-    private Event seek_event;
-
-    public GstStream (Soup.Server server,
+    public GstStream (Soup.Server  server,
                       Soup.Message msg,
-                      string  name,
-                      Element src,
-                      Event?  seek_event) throws Error {
-        base (server, msg, seek_event != null);
+                      string       name,
+                      Element      src) throws Error {
+        base (server, msg, false);
 
-        this.seek_event = seek_event;
         this.buffers = new AsyncQueue<Buffer> ();
 
         this.prepare_pipeline (name, src);
@@ -58,7 +54,7 @@
 
     public void start () {
         // Go to PAUSED first
-        this.pipeline.set_state (State.PAUSED);
+        this.pipeline.set_state (State.PLAYING);
     }
 
     public override void end (bool aborted) {
@@ -224,21 +220,6 @@
 
         if (message.type == MessageType.EOS) {
             ret = false;
-        } else if (message.type == MessageType.STATE_CHANGED) {
-            State new_state;
-            State old_state;
-
-            message.parse_state_changed (out old_state, out new_state, null);
-            if (new_state == State.PAUSED && old_state != State.PLAYING) {
-                if (this.seek_event != null) {
-                    // Time to shove-in the pending seek event
-                    this.pipeline.send_event (this.seek_event);
-                    this.seek_event = null;
-                }
-
-                // Now we can proceed to start streaming
-                this.pipeline.set_state (State.PLAYING);
-            }
         } else {
             GLib.Error err;
             string err_msg;

Modified: trunk/src/rygel/rygel-streamer.vala
==============================================================================
--- trunk/src/rygel/rygel-streamer.vala	(original)
+++ trunk/src/rygel/rygel-streamer.vala	Tue Jan 13 14:33:32 2009
@@ -69,25 +69,12 @@
         return create_uri_for_path (query);
     }
 
-    private void stream_from_gst_source (Element#    src,
-                                        Soup.Message msg,
-                                        Seek?        seek) throws Error {
-        Event seek_event = null;
-        if (seek != null) {
-            seek_event = new Event.seek (1.0,
-                                         seek.format,
-                                         SeekFlags.FLUSH,
-                                         Gst.SeekType.SET,
-                                         seek.start,
-                                         Gst.SeekType.SET,
-                                         seek.stop);
-        }
-
+    private void stream_from_gst_source (Element#     src,
+                                         Soup.Message msg) throws Error {
         GstStream stream = new GstStream (this.context.server,
                                           msg,
                                           "RygelGstStream",
-                                          src,
-                                          seek_event);
+                                          src);
         stream.start ();
         stream.eos += on_eos;
 
@@ -157,7 +144,7 @@
         if (item.upnp_class.has_prefix (MediaItem.IMAGE_CLASS)) {
             this.handle_interactive_item (msg, item, seek);
         } else {
-            this.handle_streaming_item (msg, item, seek);
+            this.handle_streaming_item (msg, item);
         }
     }
 
@@ -199,8 +186,7 @@
     }
 
     private void handle_streaming_item (Soup.Message msg,
-                                        MediaItem    item,
-                                        Seek?        seek) {
+                                        MediaItem    item) {
         string uri = item.res.uri;
         dynamic Element src = null;
 
@@ -225,7 +211,7 @@
 
         try {
             // Then start the gst stream
-            this.stream_from_gst_source (src, msg, seek);
+            this.stream_from_gst_source (src, msg);
         } catch (Error error) {
             critical ("Error in attempting to start streaming %s: %s",
                       uri,



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