[banshee] Allow seeking in DAAP streams
- From: Gabriel Burt <gburt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] Allow seeking in DAAP streams
- Date: Fri, 6 Nov 2009 04:29:19 +0000 (UTC)
commit 7611a5c77df669ac74e117ba1427635e86681749
Author: Neil Loknath <neil loknath gmail com>
Date: Tue Aug 11 13:12:04 2009 -0600
Allow seeking in DAAP streams
Signed-off-by: Gabriel Burt <gabriel burt gmail com>
.../Banshee.Daap/DaapProxyWebServer.cs | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs b/src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs
index fd9e970..ba27948 100644
--- a/src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs
+++ b/src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs
@@ -154,7 +154,14 @@ namespace Banshee.Daap
try {
DAAP.Track song = database.LookupTrackById(song_id);
if(song != null) {
- StreamTrack(client, database, song);
+ long offset = -1;
+ foreach (string line in body_request) {
+ if (line.ToLower ().Contains ("range:")) {
+ offset = ParseRangeRequest (line);
+ }
+ }
+
+ StreamTrack(client, database, song, offset);
return;
}
} catch (Exception e) {
@@ -183,12 +190,17 @@ namespace Banshee.Daap
WriteResponse(client, code, body + GetHtmlFooter());
}
+
+ protected void StreamTrack(Socket client, DAAP.Database database, DAAP.Track song)
+ {
+ StreamTrack (client, database, song, -1);
+ }
- private void StreamTrack(Socket client, DAAP.Database database, DAAP.Track song)
+ protected virtual void StreamTrack(Socket client, DAAP.Database database, DAAP.Track song, long offset)
{
long length;
- Stream stream = database.StreamTrack(song, out length);
- WriteResponseStream(client, stream, length, song.FileName);
+ Stream stream = database.StreamTrack(song, offset, out length);
+ WriteResponseStream(client, stream, length, song.FileName, offset < 0 ? 0 : offset);
stream.Close();
client.Close();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]