[Bug 753344] hlsdemux: Fix playback of live streams

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Aug 7 02:14:15 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=753344

--- Comment #7 from Athanasios Oikonomou <athoik at gmail.com> ---
@alexvrs, here is a a simplified version (it will set the sequence using
current_file).

diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c
index 5e78d94..c080a95 100755
--- a/ext/hls/m3u8.c
+++ b/ext/hls/m3u8.c
@@ -850,17 +850,16 @@ gst_m3u8_client_update (GstM3U8Client * self, gchar *
data)
   }

   if (m3u8->files && self->sequence == -1) {
-    self->current_file = g_list_first (m3u8->files);
     if (GST_M3U8_CLIENT_IS_LIVE (self)) {
       /* for live streams, start GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE from
          the end of the playlist. See section 6.3.3 of HLS draft */
       gint pos =
           g_list_length (m3u8->files) - GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE;
-      self->sequence =
-          GST_M3U8_MEDIA_FILE (g_list_nth_data (m3u8->files,
-              pos >= 0 ? pos : 0))->sequence;
+      self->current_file = g_list_nth (m3u8->files,
+              pos >= 0 ? pos : 0)
     } else
-      self->sequence = GST_M3U8_MEDIA_FILE
(self->current_file->data)->sequence;
+      self->current_file = g_list_first (m3u8->files);
+    self->sequence = GST_M3U8_MEDIA_FILE (self->current_file->data)->sequence;
     self->sequence_position = 0;
     GST_DEBUG ("Setting first sequence at %u", (guint) self->sequence);
   }

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list