#define ABSDIFF(a,b) ((a) < (b) ? (b) - (a) : (a) - (b))
#endif
+#ifdef TIZEN_FEATURE_HLSDEMUX_DISCONT_SEQUENCE
+#define DEFAULT_FAILED_COUNT 3
+#endif
+
/* GObject */
static void gst_hls_demux_finalize (GObject * obj);
#ifdef TIZEN_FEATURE_HLSDEMUX_PROPERTY
hlsdemux_stream->do_typefind = TRUE;
hlsdemux_stream->reset_pts = TRUE;
+#ifdef TIZEN_FEATURE_HLSDEMUX_DISCONT_SEQUENCE
+ hlsdemux_stream->failed_count = 0;
+#endif
#ifdef TIZEN_FEATURE_HLSDEMUX_DISCONT
hlsdemux_stream->sequence_pos = GST_CLOCK_TIME_NONE;
hlsdemux_stream->last_pcr = GST_CLOCK_TIME_NONE;
if (file == NULL) {
GST_INFO_OBJECT (hlsdemux, "This playlist doesn't contain more fragments");
+#ifdef TIZEN_FEATURE_HLSDEMUX_DISCONT_SEQUENCE
+ if (++hlsdemux_stream->failed_count > DEFAULT_FAILED_COUNT) {
+ GST_WARNING_OBJECT (hlsdemux,
+ "Reset media sequence(fail %d times to gst_m3u8_get_next_fragment)",
+ hlsdemux_stream->failed_count);
+ m3u8->sequence = 0;
+ }
+#endif
return GST_FLOW_EOS;
}
+#ifdef TIZEN_FEATURE_HLSDEMUX_DISCONT_SEQUENCE
+ hlsdemux_stream->failed_count = 0;
+#endif
if (stream->discont)
discont = TRUE;
Name: gst-plugins-bad
Version: 1.16.2
-Release: 28
+Release: 29
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.0+
Group: Multimedia/Framework
-DTIZEN_FEATURE_HLSDEMUX_PROPERTY\
-DTIZEN_FEATURE_HLSDEMUX_EMPTY_VTT\
-DTIZEN_FEATURE_HLSDEMUX_UPDATE_SEGMENT\
+ -DTIZEN_FEATURE_HLSDEMUX_DISCONT_SEQUENCE\
-DTIZEN_FEATURE_TSDEMUX_MODIFICATION\
-DTIZEN_FEATURE_TSDEMUX_INVALID_PCR_PID\
-DTIZEN_FEATURE_TSDEMUX_LANG_TAG\