#include <gst/base/gsttypefindhelper.h>
#include "gsthlsdemux.h"
-#define GST_ELEMENT_ERROR_FROM_ERROR(el, err) G_STMT_START { \
- gchar *__dbg = g_strdup (err->message); \
+#define GST_ELEMENT_ERROR_FROM_ERROR(el, msg, err) G_STMT_START { \
+ gchar *__dbg = g_strdup_printf ("%s: %s", msg, err->message); \
GST_WARNING_OBJECT (el, "error: %s", __dbg); \
gst_element_message_full (GST_ELEMENT(el), GST_MESSAGE_ERROR, \
err->domain, err->code, \
gst_uri_downloader_reset (demux->downloader);
if (!gst_hls_demux_update_playlist (demux, FALSE, &err)) {
g_rec_mutex_unlock (&demux->stream_lock);
- GST_ELEMENT_ERROR_FROM_ERROR (demux, err);
+ GST_ELEMENT_ERROR_FROM_ERROR (demux, "Could not switch playlist",
+ err);
gst_event_unref (event);
return FALSE;
}
if (!gst_hls_demux_update_playlist (demux, FALSE, &err)) {
g_rec_mutex_unlock (&demux->stream_lock);
- GST_ELEMENT_ERROR_FROM_ERROR (demux, err);
+ GST_ELEMENT_ERROR_FROM_ERROR (demux, "Could not switch playlist",
+ err);
gst_event_unref (event);
return FALSE;
}
GST_DEBUG_OBJECT (demux, "Retrying now");
return;
} else {
- GST_ELEMENT_ERROR_FROM_ERROR (demux, err);
+ GST_ELEMENT_ERROR_FROM_ERROR (demux,
+ "Could not fetch the next fragment", err);
goto pause_task;
}
}
gst_m3u8_client_set_current (demux->client, child);
if (!gst_hls_demux_update_playlist (demux, FALSE, &err)) {
- GST_ELEMENT_ERROR_FROM_ERROR (demux, err);
+ GST_ELEMENT_ERROR_FROM_ERROR (demux, "Could not fetch the child playlist",
+ err);
goto error;
}
}
gst_util_uint64_scale (gst_m3u8_client_get_target_duration
(demux->client), G_USEC_PER_SEC, 2 * GST_SECOND);
} else {
- GST_ELEMENT_ERROR_FROM_ERROR (demux, err);
+ GST_ELEMENT_ERROR_FROM_ERROR (demux, "Could not update playlist", err);
goto error;
}
} else {