diff options
author | Jens Georg <mail@jensge.org> | 2015-04-25 08:33:45 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2015-04-25 08:38:40 +0200 |
commit | 29f9b0538fda8f43ab08f542dca3f868308e24a0 (patch) | |
tree | 18cd3b5b0461e0dc05dec5b04253c3db22ce08ad | |
parent | 661454559af7485ef5363b1fba2916b18e6b7ff4 (diff) | |
download | rygel-29f9b0538fda8f43ab08f542dca3f868308e24a0.tar.gz |
engine-gst: Fix resource duration handling
- Transfer resource from original data source to transcoding data source
- Seed HTTPTimeSeekResponse with time in micorseconds not seconds
Signed-off-by: Jens Georg <mail@jensge.org>
https://bugzilla.gnome.org/show_bug.cgi?id=748410
-rw-r--r-- | src/media-engines/gstreamer/rygel-gst-data-source.vala | 4 | ||||
-rw-r--r-- | src/media-engines/gstreamer/rygel-gst-transcoder.vala | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/media-engines/gstreamer/rygel-gst-data-source.vala b/src/media-engines/gstreamer/rygel-gst-data-source.vala index f2f9ea99..1f3c3290 100644 --- a/src/media-engines/gstreamer/rygel-gst-data-source.vala +++ b/src/media-engines/gstreamer/rygel-gst-data-source.vala @@ -84,7 +84,9 @@ internal class Rygel.GstDataSource : Rygel.DataSource, GLib.Object { var time_seek = seek_request as HTTPTimeSeekRequest; // Set the effective TimeSeekRange response range to the requested range // TODO: Align this with actual time range being returned - var seek_response = new HTTPTimeSeekResponse.from_request(time_seek, res.duration); + var seek_response = new HTTPTimeSeekResponse.from_request(time_seek, + res.duration + * TimeSpan.SECOND); debug("Processing time seek request for %lldns-%lldns", seek_response.start_time, seek_response.end_time); response_list.add(seek_response); diff --git a/src/media-engines/gstreamer/rygel-gst-transcoder.vala b/src/media-engines/gstreamer/rygel-gst-transcoder.vala index dd0bc023..521f32b7 100644 --- a/src/media-engines/gstreamer/rygel-gst-transcoder.vala +++ b/src/media-engines/gstreamer/rygel-gst-transcoder.vala @@ -157,7 +157,11 @@ public abstract class Rygel.GstTranscoder : GLib.Object { var ghost = new GhostPad (null, pad); bin.add_pad (ghost); - return new GstDataSource.from_element (bin); + // Hook up resource from original resource + var new_source = new GstDataSource.from_element (bin); + new_source.res = orig_source.res; + + return new_source; } /** |