rygel r435 - trunk/src/rygel
- From: zeeshanak svn gnome org
- To: svn-commits-list gnome org
- Subject: rygel r435 - trunk/src/rygel
- Date: Tue, 13 Jan 2009 14:33:18 +0000 (UTC)
Author: zeeshanak
Date: Tue Jan 13 14:33:18 2009
New Revision: 435
URL: http://svn.gnome.org/viewvc/rygel?rev=435&view=rev
Log:
Add an auto-updated length property to Seek.
Seek now derives from GLib.Object.
Modified:
trunk/src/rygel/rygel-streamer.vala
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:18 2009
@@ -266,7 +266,7 @@
size_t length;
if (seek != null) {
offset = (size_t) seek.start;
- length = (size_t) seek.stop + 1;
+ length = (size_t) seek.length;
assert (offset < file_length);
assert (length <= file_length);
@@ -342,13 +342,14 @@
if (item.res.size > 0) {
// shouldn't go beyond actual length of media
- if (seek.start > item.res.size || seek.stop >= item.res.size) {
+ if (seek.start > item.res.size ||
+ seek.length > item.res.size) {
throw new StreamerError.OUT_OF_RANGE (
"Range '%s' not setsifiable", range);
}
// No need to seek if whole stream is requested
- if (seek.start == 0 && seek.stop == item.res.size - 1) {
+ if (seek.start == 0 && seek.length == item.res.size) {
return null;
}
} else if (seek.start == 0) {
@@ -365,11 +366,32 @@
}
}
-class Rygel.Seek {
- public Format format;
+class Rygel.Seek : GLib.Object {
+ public Format format { get; private set; }
- public int64 start;
- public int64 stop;
+ private int64 _start;
+ public int64 start {
+ get {
+ return this._start;
+ }
+ set {
+ this._start = value;
+ this.length = stop - start + 1;
+ }
+ }
+
+ private int64 _stop;
+ public int64 stop {
+ get {
+ return this._stop;
+ }
+ set {
+ this._stop = value;
+ this.length = stop - start + 1;
+ }
+ }
+
+ public int64 length { get; private set; }
public Seek (Format format,
int64 start,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]