range += this.start.to_string () + "-" +
this.stop.to_string () + "/" +
- this.length.to_string ();
+ this.total_length.to_string ();
headers.append ("Content-Range", range);
- headers.set_content_length (this.stop + 1 - this.start);
+ headers.set_content_length (this.length);
}
}
public int64 start { get; private set; }
public int64 stop { get; private set; }
public int64 length { get; private set; }
+ public int64 total_length { get; private set; }
public HTTPSeek (Soup.Message msg,
int64 start,
int64 stop,
- int64 length) {
+ int64 total_length) {
this.msg = msg;
this.start = start;
this.stop = stop;
- this.length = length;
+ this.total_length = total_length;
if (length > 0) {
this.stop = stop.clamp (start + 1, length - 1);
}
+
+ this.length = stop + 1 - start;
}
public abstract void add_response_headers ();
// TimeSeekRange.dlna.org: npt=START_TIME-END_TIME/DURATION
double start = (double) this.start / SECOND;
double stop = (double) this.stop / SECOND;
- double length = (double) this.length / SECOND;
+ double total = (double) this.total_length / SECOND;
- var range = "npt=%.2f-%.2f/%.2f".printf (start, stop, length);
+ var range = "npt=%.2f-%.2f/%.2f".printf (start, stop, total);
this.msg.response_headers.append ("TimeSeekRange.dlna.org", range);
}
assert (seek.stop == stop);
if (request.thumbnail != null) {
- assert (seek.length == request.thumbnail.size);
+ assert (seek.total_length == request.thumbnail.size);
} else if (request.subtitle != null) {
- assert (seek.length == request.subtitle.size);
+ assert (seek.total_length == request.subtitle.size);
} else {
- assert (seek.length == request.item.size);
+ assert (seek.total_length == request.item.size);
}
var header = request.msg.response_headers.get ("Accept-Ranges");
assert (this.range_regex.match (header));
assert (request.msg.response_headers.get_content_length () ==
- seek.stop + 1 - seek.start);
+ seek.length);
}
}
assert (seek != null);
assert (seek.start == start * SECOND);
assert (seek.stop == stop * SECOND);
- assert (seek.length == request.item.duration * SECOND);
+ assert (seek.length == seek.stop + 1 - seek.start);
+ assert (seek.total_length == request.item.duration * SECOND);
var header = request.msg.response_headers.get (
"TimeSeekRange.dlna.org");