#include <gst/gst.h>
#include <gst/base/gsttypefindhelper.h>
+#include <glib/gi18n-lib.h>
#include "gstimagesequencesrc.h"
gchar *filename;
GST_DEBUG ("Reading filename at index %d.", self->index);
- filename = g_strdup_printf (self->path, self->index);
+ if (self->path != NULL) {
+ filename = g_strdup_printf (self->path, self->index);
+ } else {
+ GST_WARNING_OBJECT (self, "No filename location set!");
+ filename = NULL;
+ }
return filename;
}
UNLOCK (self);
if (!filename)
- goto handle_error;
+ goto error_no_filename;
ret = g_file_get_contents (filename, &data, &size, &error);
if (!ret)
self->index += self->reverse ? -1 : 1;
return GST_FLOW_OK;
+error_no_filename:
+ {
+ GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+ (_("No file name specified for reading.")), (NULL));
+ return GST_FLOW_ERROR;
+ }
handle_error:
{
if (error != NULL) {
#endif
#include "gstmultifilesrc.h"
-
+#include <glib/gi18n-lib.h>
static GstFlowReturn gst_multi_file_src_create (GstPushSrc * src,
GstBuffer ** buffer);
gchar *filename;
GST_DEBUG ("%d", multifilesrc->index);
- filename = g_strdup_printf (multifilesrc->filename, multifilesrc->index);
+ if (multifilesrc->filename != NULL) {
+ filename = g_strdup_printf (multifilesrc->filename, multifilesrc->index);
+ } else {
+ GST_WARNING_OBJECT (multifilesrc, "No filename location set!");
+ filename = NULL;
+ }
return filename;
}
filename = gst_multi_file_src_get_filename (multifilesrc);
+ if (!filename)
+ goto error_no_filename;
+
GST_DEBUG_OBJECT (multifilesrc, "reading from file \"%s\".", filename);
ret = g_file_get_contents (filename, &data, &size, &error);
*buffer = buf;
return GST_FLOW_OK;
+error_no_filename:
+ {
+ GST_ELEMENT_ERROR (multifilesrc, RESOURCE, NOT_FOUND,
+ (_("No file name specified for reading.")), (NULL));
+ return GST_FLOW_ERROR;
+ }
handle_error:
{
if (error != NULL) {