From 8a683fc035ef0d96bc021ccee36b1ac0f98bf147 Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Tue, 15 Feb 2011 03:42:29 +0100 Subject: [PATCH] hlsdemux: handle 404 from the source element --- gst/hls/gsthlsdemux.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gst/hls/gsthlsdemux.c b/gst/hls/gsthlsdemux.c index 173ca2bf6a..4927dd308c 100644 --- a/gst/hls/gsthlsdemux.c +++ b/gst/hls/gsthlsdemux.c @@ -336,8 +336,14 @@ gst_hls_demux_sink_event (GstPad * pad, GstEvent * event) playlist = g_strndup ((gchar *) GST_BUFFER_DATA (demux->playlist), GST_BUFFER_SIZE (demux->playlist)); - gst_m3u8_client_update (demux->client, playlist); gst_buffer_unref (demux->playlist); + if (!gst_m3u8_client_update (demux->client, playlist)) { + /* In most cases, this will happen when if we set a wrong url in the + * source element and we have received the 404 HTML response instead of + * the playlist */ + GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Invalid playlist."), NULL); + return FALSE; + } if (!ret && gst_m3u8_client_is_live (demux->client)) { GST_ELEMENT_ERROR (demux, RESOURCE, NOT_FOUND,