GNOME Bugzilla – Bug 774178
smoothstreaming: support live seeking and reporting the live duration
Last modified: 2017-03-02 00:32:57 UTC
See commits
Created attachment 339432 [details] [review] smoothstreaming: implement adaptivedemux's get_live_seek_range()
Created attachment 339433 [details] [review] smoothstreaming:use the duration from the current list of fragments if not in the manifest
Review of attachment 339432 [details] [review]: Generally makes sense but you seemed to have done some last minute changes that broke things before submitting the patch :) ::: ext/smoothstreaming/gstmssmanifest.c @@ +1484,3 @@ + gst_mss_manifest_get_dvr_window_length_clock_time (manifest); + + if (GST_CLOCK_TIME_IS_VALID (dvr_window) && stop - start > dvr_window) { You compare pointers here, start and stop are pointers
Review of attachment 339433 [details] [review]: ::: ext/smoothstreaming/gstmssmanifest.c @@ +911,3 @@ + guint64 frag_dur = + fragment->time + fragment->duration * fragment->repetitions; + min_dur = MIN (frag_dur, min_dur); Should be the maximum, no? The DURATION query also gets the maximum of all streams
Created attachment 339483 [details] [review] smoothstreaming: implement adaptivedemux's get_live_seek_range() (In reply to Sebastian Dröge (slomo) from comment #3) > Review of attachment 339432 [details] [review] [review]: > > You compare pointers here, start and stop are pointers Oops. Fixed :)
Created attachment 339485 [details] [review] smoothstreaming: use the duration from the current list of fragments if not in the manifest
commit 0fbee8f37427b88339194b22ba9aa210772a8613 Author: Matthew Waters <matthew@centricular.com> Date: Thu Nov 10 17:20:27 2016 +1100 smoothstreaming: use the duration from the list of fragments if not present in the manifest Provides a more accurate duration for live streams that may be minutes or hours in front of the earliest fragment. https://bugzilla.gnome.org/show_bug.cgi?id=774178 commit e9178fa082116d4bf733b184a8b6951112c17900 Author: Matthew Waters <matthew@centricular.com> Date: Thu Nov 10 17:18:36 2016 +1100 smoothstreaming: implement adaptivedemux's get_live_seek_range() Allows seeking through the available fragments that are still available on the server as specified by the DVRWindowLength attribute in the manifest. https://bugzilla.gnome.org/show_bug.cgi?id=774178