2004-01-29 Thomas Vander Stichele <thomas at apestaart dot org>
+ * docs/gst/tmpl/gstelement.sgml:
+ * docs/gst/tmpl/gstreamer-unused.sgml:
+ * docs/gst/tmpl/gstxml.sgml:
+ * gst/autoplug/gstspideridentity.c:
+ (gst_spider_identity_sink_loop_type_finding):
+ * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
+ * gst/elements/gstfilesink.c: (gst_filesink_open_file),
+ (gst_filesink_close_file), (gst_filesink_handle_event),
+ (gst_filesink_chain):
+ * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
+ (gst_filesrc_get_read), (gst_filesrc_open_file):
+ * gst/elements/gstidentity.c: (gst_identity_chain):
+ * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
+ * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
+ (gst_pipefilter_chain), (gst_pipefilter_open_file):
+ * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
+ * gst/gstelement.h:
+ * gst/gstpad.c: (gst_pad_set_explicit_caps),
+ (gst_pad_recover_caps_error), (gst_pad_pull):
+ * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
+ * gst/schedulers/gstbasicscheduler.c:
+ (gst_basic_scheduler_chainhandler_proxy),
+ (gst_basic_scheduler_gethandler_proxy),
+ (gst_basic_scheduler_cothreaded_chain):
+ gst_element_error -> GST_ELEMENT_ERROR
+
+2004-01-29 Thomas Vander Stichele <thomas at apestaart dot org>
+
* docs/Makefile.am:
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstxml.sgml:
@element:
-<!-- ##### MACRO gst_element_error ##### -->
-<para>
-
-</para>
-
-@el:
-@domain:
-@code:
-@message:
-@debug:
-<!-- # Unused Parameters # -->
-@element:
-@error:
-@Varargs:
-
-
<!-- ##### FUNCTION gst_element_set_eos ##### -->
<para>
@:
@:
@:
+@:
@:
<!-- ##### SIGNAL GstElement::found-tag ##### -->
@a:
@b:
+<!-- ##### MACRO gst_element_error ##### -->
+<para>
+
+</para>
+
+@el:
+@domain:
+@code:
+@message:
+@debug:
+@element:
+@error:
+@Varargs:
+
<!-- ##### FUNCTION gst_element_factory_add_pad_template ##### -->
<para>
</para>
-@:
-@:
-@:
-
@gstxml: the object which received the signal.
@arg1:
@arg2:
</para>
-@gstxml: the object which received the signal.
-@arg1:
-@arg2:
+@:
+@:
+@:
}
if (find.best_probability > 0)
goto plug;
- gst_element_error (ident, STREAM, TYPE_NOT_FOUND, NULL, NULL);
+ GST_ELEMENT_ERROR (ident, STREAM, TYPE_NOT_FOUND, NULL, NULL);
find.buffer = GST_BUFFER (gst_event_new (GST_EVENT_EOS));
end:
return GST_STATE_SUCCESS;
error:
- gst_element_error (element, CORE, STATE_CHANGE,
+ GST_ELEMENT_ERROR (element, CORE, STATE_CHANGE,
NULL, NULL);
return GST_STATE_FAILURE;
}
/* open the file */
if (!sink->filename)
{
- gst_element_error (sink, RESOURCE, NOT_FOUND,
+ GST_ELEMENT_ERROR (sink, RESOURCE, NOT_FOUND,
(_("No filename specified")), NULL);
return FALSE;
}
sink->file = fopen (sink->filename, "w");
if (sink->file == NULL) {
- gst_element_error (sink, RESOURCE, OPEN_WRITE,
+ GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE,
(_("Could not open file \"%s\" for writing"), sink->filename),
GST_ERROR_SYSTEM);
return FALSE;
if (fclose (sink->file) != 0)
{
- gst_element_error (sink, RESOURCE, CLOSE,
+ GST_ELEMENT_ERROR (sink, RESOURCE, CLOSE,
(_("Error closing file \"%s\""), sink->filename),
GST_ERROR_SYSTEM);
}
if (GST_EVENT_SEEK_FLAGS (event) & GST_SEEK_FLAG_FLUSH)
if (fflush (filesink->file))
- gst_element_error (filesink, RESOURCE, WRITE,
+ GST_ELEMENT_ERROR (filesink, RESOURCE, WRITE,
(_("Error while writing to file \"%s\""), filesink->filename),
GST_ERROR_SYSTEM);
}
case GST_EVENT_FLUSH:
if (fflush (filesink->file)) {
- gst_element_error (filesink, RESOURCE, WRITE,
+ GST_ELEMENT_ERROR (filesink, RESOURCE, WRITE,
(_("Error while writing to file \"%s\""), filesink->filename),
GST_ERROR_SYSTEM);
}
GST_BUFFER_SIZE (buf) - bytes_written,
filesink->file);
if (wrote <= 0) {
- gst_element_error (filesink, RESOURCE, WRITE,
+ GST_ELEMENT_ERROR (filesink, RESOURCE, WRITE,
(_("Error while writing to file \"%s\""), filesink->filename),
("Only %d of %d bytes written: %s",
bytes_written, GST_BUFFER_SIZE (buf),
mmapregion = mmap (NULL, size, PROT_READ, MAP_SHARED, src->fd, offset);
if (mmapregion == NULL) {
- gst_element_error (src, RESOURCE, TOO_LAZY,
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY,
NULL,
("mmap call failed"));
return NULL;
ret = read (src->fd, GST_BUFFER_DATA (buf), readsize);
if (ret < 0){
- gst_element_error (src, RESOURCE, READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, READ,
NULL,
GST_ERROR_SYSTEM);
return NULL;
}
if (ret < readsize) {
- gst_element_error (src, RESOURCE, READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, READ,
NULL,
("unexpected end of file"));
return NULL;
if (src->filename == NULL)
{
- gst_element_error (src, RESOURCE, NOT_FOUND,
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
(_("No filename specified")),
NULL);
return FALSE;
if (src->filename == NULL)
{
- gst_element_error (src, RESOURCE, NOT_FOUND,
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
(_("No file specified for reading")),
NULL);
return FALSE;
if (src->fd < 0)
{
if (errno == ENOENT)
- gst_element_error (src, RESOURCE, NOT_FOUND, NULL, NULL);
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, NULL, NULL);
else
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open file \"%s\" for reading"), src->filename),
GST_ERROR_SYSTEM);
return FALSE;
fstat(src->fd, &stat_results);
if (!S_ISREG(stat_results.st_mode)) {
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("File \"%s\" isn't a regular file"), src->filename),
NULL);
close(src->fd);
identity->error_after--;
if (identity->error_after == 0) {
gst_buffer_unref (buf);
- gst_element_error (identity, CORE, FAILED,
+ GST_ELEMENT_ERROR (identity, CORE, FAILED,
(_("Failed after iterations as requested")),
NULL);
return;
src->fd = open ((const char *) src->currentfilename, O_RDONLY);
if (src->fd < 0) {
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open file \"%s\" for reading"), src->currentfilename),
GST_ERROR_SYSTEM);
return FALSE;
/* collapse state if that failed */
if (src->map == NULL) {
close (src->fd);
- gst_element_error (src, RESOURCE, TOO_LAZY,
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY,
NULL,
("mmap call failed"));
return FALSE;
src->fd = open ((const char *) src->currentfilename, O_RDONLY);
if (src->fd < 0) {
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open file \"%s\" for reading"), src->currentfilename),
GST_ERROR_SYSTEM);
return FALSE;
/* collapse state if that failed */
if (src->map == NULL) {
close (src->fd);
- gst_element_error (src, RESOURCE, TOO_LAZY,
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY,
NULL,
("mmap call failed"));
return FALSE;
readbytes = read(pipefilter->fdout[0], GST_BUFFER_DATA(newbuf), pipefilter->bytes_per_read);
GST_DEBUG ("read %ld bytes", readbytes);
if (readbytes < 0) {
- gst_element_error (pipefilter, RESOURCE, READ, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (pipefilter, RESOURCE, READ, NULL, GST_ERROR_SYSTEM);
return NULL;
}
/* if we didn't get as many bytes as we asked for, we're at EOF */
writebytes = write(pipefilter->fdin[1],data,size);
GST_DEBUG ("written %ld bytes", writebytes);
if (writebytes < 0) {
- gst_element_error (pipefilter, RESOURCE, WRITE, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (pipefilter, RESOURCE, WRITE, NULL, GST_ERROR_SYSTEM);
return;
}
gst_buffer_unref(buf);
if((src->childpid = fork()) == -1)
{
- gst_element_error (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
return FALSE;
}
dup2(src->fdout[1], STDOUT_FILENO); /* set the childs output stream */
execvp(src->command[0], &src->command[0]);
/* will only be reached if execvp has an error */
- gst_element_error (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
return FALSE;
}
if (typefind->caps) {
stop_typefinding (typefind);
} else if (typefind->possibilities == NULL) {
- gst_element_error (typefind, STREAM, TYPE_NOT_FOUND,
+ GST_ELEMENT_ERROR (typefind, STREAM, TYPE_NOT_FOUND,
NULL, NULL);
} else {
/* set up typefind element for next iteration */
#define GST_ELEMENT_CLOCK(obj) (((GstElement*)(obj))->clock)
#define GST_ELEMENT_PADS(obj) ((obj)->pads)
-#define gst_element_error(el, domain, code, message, debug) G_STMT_START { \
+#define GST_ELEMENT_ERROR(el, domain, code, message, debug) G_STMT_START { \
gst_element_error_full (GST_ELEMENT(el), \
GST_ ## domain ## _ERROR, GST_ ## domain ## _ERROR_ ## code, \
_gst_element_error_printf message, \
}
link_ret = gst_pad_try_set_caps (pad, caps);
if (link_ret == GST_PAD_LINK_REFUSED) {
- gst_element_error (gst_pad_get_parent (pad), CORE, PAD,
+ GST_ELEMENT_ERROR (gst_pad_get_parent (pad), CORE, PAD,
NULL,
("failed to negotiate (try_set_caps returned REFUSED)"));
return FALSE;
/* report error */
parent = gst_pad_get_parent (pad);
- gst_element_error (parent, CORE, PAD,
+ GST_ELEMENT_ERROR (parent, CORE, PAD,
NULL,
("negotiation failed on pad %s:%s", GST_DEBUG_PAD_NAME (pad)));
#endif
peer = GST_RPAD_PEER (pad);
if (!peer) {
- gst_element_error (GST_PAD_PARENT (pad), CORE, PAD, NULL,
+ GST_ELEMENT_ERROR (GST_PAD_PARENT (pad), CORE, PAD, NULL,
("pull on pad %s:%s but it was unlinked", GST_DEBUG_PAD_NAME (pad)));
}
else {
}
/* no null buffers allowed */
- gst_element_error (GST_PAD_PARENT (pad), CORE, PAD, NULL,
+ GST_ELEMENT_ERROR (GST_PAD_PARENT (pad), CORE, PAD, NULL,
("NULL buffer during pull on %s:%s", GST_DEBUG_PAD_NAME (pad)));
} else {
- gst_element_error (GST_PAD_PARENT (pad), CORE, PAD, NULL,
+ GST_ELEMENT_ERROR (GST_PAD_PARENT (pad), CORE, PAD, NULL,
("pull on pad %s:%s but the peer pad %s:%s has no gethandler",
GST_DEBUG_PAD_NAME (pad), GST_DEBUG_PAD_NAME (peer)));
}
if (!queue->may_deadlock) {
g_mutex_unlock (queue->qlock);
gst_data_unref (data);
- gst_element_error (queue, CORE, THREAD, NULL,
+ GST_ELEMENT_ERROR (queue, CORE, THREAD, NULL,
("deadlock found, shutting down source pad elements"));
/* we don't go to out_unref here, since we want to
* unref the buffer *before* calling GST_ELEMENT_ERROR */
/* this means the other end is shut down */
if (!queue->may_deadlock) {
g_mutex_unlock (queue->qlock);
- gst_element_error (queue, CORE, THREAD, NULL,
+ GST_ELEMENT_ERROR (queue, CORE, THREAD, NULL,
("deadlock found, shutting down sink pad elements"));
goto restart;
} else {
}
if (loop_count == 0) {
- gst_element_error (parent, CORE, SCHEDULER, NULL,
+ GST_ELEMENT_ERROR (parent, CORE, SCHEDULER, NULL,
("(internal error) basic: maximum number of switches exceeded"));
return;
}
GST_CAT_DEBUG (debug_dataflow, "new pad in mid-switch!");
pad = (GstPad *) GST_RPAD_PEER (peer);
if (!pad) {
- gst_element_error (parent, CORE, PAD, NULL, ("pad unlinked"));
+ GST_ELEMENT_ERROR (parent, CORE, PAD, NULL, ("pad unlinked"));
}
parent = GST_PAD_PARENT (pad);
peer = GST_RPAD_PEER (pad);
* either, we have an error */
if (different_sched && !peer_decoupled)
{
- gst_element_error (element, CORE, SCHEDULER, NULL,
+ GST_ELEMENT_ERROR (element, CORE, SCHEDULER, NULL,
("element \"%s\" is not decoupled but has pads in different schedulers",
GST_ELEMENT_NAME (element)));
return FALSE;
chain->sched->context,
wrapper_function, 0, (char **) element);
if (GST_ELEMENT_THREADSTATE (element) == NULL) {
- gst_element_error (element, RESOURCE, TOO_LAZY, NULL, ("could not create cothread for \"%s\"",
+ GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, NULL, ("could not create cothread for \"%s\"",
GST_ELEMENT_NAME (element)));
return FALSE;
}
return GST_STATE_SUCCESS;
error:
- gst_element_error (element, CORE, STATE_CHANGE,
+ GST_ELEMENT_ERROR (element, CORE, STATE_CHANGE,
NULL, NULL);
return GST_STATE_FAILURE;
}
/* open the file */
if (!sink->filename)
{
- gst_element_error (sink, RESOURCE, NOT_FOUND,
+ GST_ELEMENT_ERROR (sink, RESOURCE, NOT_FOUND,
(_("No filename specified")), NULL);
return FALSE;
}
sink->file = fopen (sink->filename, "w");
if (sink->file == NULL) {
- gst_element_error (sink, RESOURCE, OPEN_WRITE,
+ GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE,
(_("Could not open file \"%s\" for writing"), sink->filename),
GST_ERROR_SYSTEM);
return FALSE;
if (fclose (sink->file) != 0)
{
- gst_element_error (sink, RESOURCE, CLOSE,
+ GST_ELEMENT_ERROR (sink, RESOURCE, CLOSE,
(_("Error closing file \"%s\""), sink->filename),
GST_ERROR_SYSTEM);
}
if (GST_EVENT_SEEK_FLAGS (event) & GST_SEEK_FLAG_FLUSH)
if (fflush (filesink->file))
- gst_element_error (filesink, RESOURCE, WRITE,
+ GST_ELEMENT_ERROR (filesink, RESOURCE, WRITE,
(_("Error while writing to file \"%s\""), filesink->filename),
GST_ERROR_SYSTEM);
}
case GST_EVENT_FLUSH:
if (fflush (filesink->file)) {
- gst_element_error (filesink, RESOURCE, WRITE,
+ GST_ELEMENT_ERROR (filesink, RESOURCE, WRITE,
(_("Error while writing to file \"%s\""), filesink->filename),
GST_ERROR_SYSTEM);
}
GST_BUFFER_SIZE (buf) - bytes_written,
filesink->file);
if (wrote <= 0) {
- gst_element_error (filesink, RESOURCE, WRITE,
+ GST_ELEMENT_ERROR (filesink, RESOURCE, WRITE,
(_("Error while writing to file \"%s\""), filesink->filename),
("Only %d of %d bytes written: %s",
bytes_written, GST_BUFFER_SIZE (buf),
mmapregion = mmap (NULL, size, PROT_READ, MAP_SHARED, src->fd, offset);
if (mmapregion == NULL) {
- gst_element_error (src, RESOURCE, TOO_LAZY,
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY,
NULL,
("mmap call failed"));
return NULL;
ret = read (src->fd, GST_BUFFER_DATA (buf), readsize);
if (ret < 0){
- gst_element_error (src, RESOURCE, READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, READ,
NULL,
GST_ERROR_SYSTEM);
return NULL;
}
if (ret < readsize) {
- gst_element_error (src, RESOURCE, READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, READ,
NULL,
("unexpected end of file"));
return NULL;
if (src->filename == NULL)
{
- gst_element_error (src, RESOURCE, NOT_FOUND,
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
(_("No filename specified")),
NULL);
return FALSE;
if (src->filename == NULL)
{
- gst_element_error (src, RESOURCE, NOT_FOUND,
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
(_("No file specified for reading")),
NULL);
return FALSE;
if (src->fd < 0)
{
if (errno == ENOENT)
- gst_element_error (src, RESOURCE, NOT_FOUND, NULL, NULL);
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND, NULL, NULL);
else
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open file \"%s\" for reading"), src->filename),
GST_ERROR_SYSTEM);
return FALSE;
fstat(src->fd, &stat_results);
if (!S_ISREG(stat_results.st_mode)) {
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("File \"%s\" isn't a regular file"), src->filename),
NULL);
close(src->fd);
identity->error_after--;
if (identity->error_after == 0) {
gst_buffer_unref (buf);
- gst_element_error (identity, CORE, FAILED,
+ GST_ELEMENT_ERROR (identity, CORE, FAILED,
(_("Failed after iterations as requested")),
NULL);
return;
src->fd = open ((const char *) src->currentfilename, O_RDONLY);
if (src->fd < 0) {
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open file \"%s\" for reading"), src->currentfilename),
GST_ERROR_SYSTEM);
return FALSE;
/* collapse state if that failed */
if (src->map == NULL) {
close (src->fd);
- gst_element_error (src, RESOURCE, TOO_LAZY,
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY,
NULL,
("mmap call failed"));
return FALSE;
src->fd = open ((const char *) src->currentfilename, O_RDONLY);
if (src->fd < 0) {
- gst_element_error (src, RESOURCE, OPEN_READ,
+ GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
(_("Could not open file \"%s\" for reading"), src->currentfilename),
GST_ERROR_SYSTEM);
return FALSE;
/* collapse state if that failed */
if (src->map == NULL) {
close (src->fd);
- gst_element_error (src, RESOURCE, TOO_LAZY,
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY,
NULL,
("mmap call failed"));
return FALSE;
readbytes = read(pipefilter->fdout[0], GST_BUFFER_DATA(newbuf), pipefilter->bytes_per_read);
GST_DEBUG ("read %ld bytes", readbytes);
if (readbytes < 0) {
- gst_element_error (pipefilter, RESOURCE, READ, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (pipefilter, RESOURCE, READ, NULL, GST_ERROR_SYSTEM);
return NULL;
}
/* if we didn't get as many bytes as we asked for, we're at EOF */
writebytes = write(pipefilter->fdin[1],data,size);
GST_DEBUG ("written %ld bytes", writebytes);
if (writebytes < 0) {
- gst_element_error (pipefilter, RESOURCE, WRITE, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (pipefilter, RESOURCE, WRITE, NULL, GST_ERROR_SYSTEM);
return;
}
gst_buffer_unref(buf);
if((src->childpid = fork()) == -1)
{
- gst_element_error (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
return FALSE;
}
dup2(src->fdout[1], STDOUT_FILENO); /* set the childs output stream */
execvp(src->command[0], &src->command[0]);
/* will only be reached if execvp has an error */
- gst_element_error (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
+ GST_ELEMENT_ERROR (src, RESOURCE, TOO_LAZY, NULL, GST_ERROR_SYSTEM);
return FALSE;
}
if (!queue->may_deadlock) {
g_mutex_unlock (queue->qlock);
gst_data_unref (data);
- gst_element_error (queue, CORE, THREAD, NULL,
+ GST_ELEMENT_ERROR (queue, CORE, THREAD, NULL,
("deadlock found, shutting down source pad elements"));
/* we don't go to out_unref here, since we want to
* unref the buffer *before* calling GST_ELEMENT_ERROR */
/* this means the other end is shut down */
if (!queue->may_deadlock) {
g_mutex_unlock (queue->qlock);
- gst_element_error (queue, CORE, THREAD, NULL,
+ GST_ELEMENT_ERROR (queue, CORE, THREAD, NULL,
("deadlock found, shutting down sink pad elements"));
goto restart;
} else {
if (typefind->caps) {
stop_typefinding (typefind);
} else if (typefind->possibilities == NULL) {
- gst_element_error (typefind, STREAM, TYPE_NOT_FOUND,
+ GST_ELEMENT_ERROR (typefind, STREAM, TYPE_NOT_FOUND,
NULL, NULL);
} else {
/* set up typefind element for next iteration */