rygel r439 - trunk/src/rygel
- From: zeeshanak svn gnome org
- To: svn-commits-list gnome org
- Subject: rygel r439 - trunk/src/rygel
- Date: Tue, 13 Jan 2009 14:33:32 +0000 (UTC)
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]