Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.

Original commit message from CVS:
Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
GST_DEBUG now takes a category parameter, which is the same as GST_INFO
system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set to 0
for now, we need to go and fix all these eventually.
This commit is contained in:
Erik Walthinsen 2001-01-01 03:14:40 +00:00
parent e154186bc4
commit 1e04cefaf2
38 changed files with 418 additions and 384 deletions

View file

@ -55,18 +55,18 @@ cothread_create (cothread_context *ctx)
{
cothread_state *s;
DEBUG("pthread_self() %ld\n",pthread_self());
GST_DEBUG (0,"pthread_self() %ld\n",pthread_self());
//if (0) {
if (pthread_self() == 0) {
s = (cothread_state *)malloc(sizeof(int) * COTHREAD_STACKSIZE);
DEBUG("new stack (case 1) at %p\n",s);
GST_DEBUG (0,"new stack (case 1) at %p\n",s);
} else {
char *sp = CURRENT_STACK_FRAME;
unsigned long *stack_end = (unsigned long *)((unsigned long)sp &
~(STACK_SIZE - 1));
s = (cothread_state *)(stack_end + ((ctx->nthreads - 1) *
COTHREAD_STACKSIZE));
DEBUG("new stack (case 2) at %p\n",s);
GST_DEBUG (0,"new stack (case 2) at %p\n",s);
if (mmap((char *)s,COTHREAD_STACKSIZE*(sizeof(int)),
PROT_READ|PROT_WRITE|PROT_EXEC,MAP_FIXED|MAP_PRIVATE|MAP_ANONYMOUS,
-1,0) < 0) {
@ -81,7 +81,7 @@ cothread_create (cothread_context *ctx)
s->sp = ((int *)s + COTHREAD_STACKSIZE);
s->top_sp = s->sp;
INFO(GST_INFO_COTHREADS,"created cothread #%d: %p at sp:%p", ctx->nthreads, s, s->sp);
GST_INFO (GST_CAT_COTHREADS,"created cothread #%d: %p at sp:%p", ctx->nthreads, s, s->sp);
ctx->threads[ctx->nthreads++] = s;
@ -121,7 +121,7 @@ cothread_init (void)
{
cothread_context *ctx = (cothread_context *)malloc(sizeof(cothread_context));
INFO(GST_INFO_COTHREADS,"initializing cothreads");
GST_INFO (GST_CAT_COTHREADS,"initializing cothreads");
if (_cothread_key == -1) {
if (pthread_key_create (&_cothread_key,NULL) != 0) {
@ -143,7 +143,7 @@ cothread_init (void)
ctx->threads[0]->sp = (int *)CURRENT_STACK_FRAME;
ctx->threads[0]->pc = 0;
INFO(GST_INFO_COTHREADS,"0th thread is %p at sp:%p",ctx->threads[0], ctx->threads[0]->sp);
GST_INFO (GST_CAT_COTHREADS,"0th thread is %p at sp:%p",ctx->threads[0], ctx->threads[0]->sp);
// we consider the initiating process to be cothread 0
ctx->nthreads = 1;
@ -162,7 +162,7 @@ cothread_init (void)
cothread_state*
cothread_main(cothread_context *ctx)
{
DEBUG("returning %p, the 0th cothread\n",ctx->threads[0]);
GST_DEBUG (0,"returning %p, the 0th cothread\n",ctx->threads[0]);
return ctx->threads[0];
}
@ -172,14 +172,14 @@ cothread_stub (void)
cothread_context *ctx = pthread_getspecific(_cothread_key);
register cothread_state *thread = ctx->threads[ctx->current];
DEBUG_ENTER("");
GST_DEBUG_ENTER("");
thread->flags |= COTHREAD_STARTED;
if (thread->func)
thread->func(thread->argc,thread->argv);
thread->flags &= ~COTHREAD_STARTED;
thread->pc = 0;
thread->sp = thread->top_sp;
DEBUG_LEAVE("");
GST_DEBUG_LEAVE("");
// printf("uh, yeah, we shouldn't be here, but we should deal anyway\n");
}
@ -259,24 +259,24 @@ cothread_switch (cothread_state *thread)
// find the number of the thread to switch to
ctx->current = thread->threadnum;
INFO(GST_INFO_COTHREAD_SWITCH,"switching to thread #%d",ctx->current);
GST_INFO (GST_CAT_COTHREAD_SWITCH,"switching to thread #%d",ctx->current);
/* save the current stack pointer, frame pointer, and pc */
GET_SP(current->sp);
enter = setjmp(current->jmp);
if (enter != 0) {
DEBUG("enter thread #%d %d %p<->%p (%d)\n",current->threadnum, enter,
GST_DEBUG (0,"enter thread #%d %d %p<->%p (%d)\n",current->threadnum, enter,
current->sp, current->top_sp, current->top_sp-current->sp);
return;
}
DEBUG("exit thread #%d %d %p<->%p (%d)\n",current->threadnum, enter,
GST_DEBUG (0,"exit thread #%d %d %p<->%p (%d)\n",current->threadnum, enter,
current->sp, current->top_sp, current->top_sp-current->sp);
enter = 1;
DEBUG("set stack to %p\n", thread->sp);
GST_DEBUG (0,"set stack to %p\n", thread->sp);
/* restore stack pointer and other stuff of new cothread */
if (thread->flags & COTHREAD_STARTED) {
DEBUG("in thread \n");
GST_DEBUG (0,"in thread \n");
SET_SP(thread->sp);
// switch to it
longjmp(thread->jmp,1);
@ -285,7 +285,7 @@ cothread_switch (cothread_state *thread)
SET_SP(thread->sp);
// start it
cothread_stub();
DEBUG("exit thread \n");
GST_DEBUG (0,"exit thread \n");
ctx->current = 0;
}

View file

@ -244,7 +244,7 @@ gst_asyncdisksrc_get (GstPad *pad)
} else
GST_BUFFER_SIZE (buf) = src->bytes_per_read;
DEBUG ("map %p, offset %d, size %ld\n", src->map, src->curoffset, GST_BUFFER_SIZE (buf));
GST_DEBUG (0,"map %p, offset %d, size %ld\n", src->map, src->curoffset, GST_BUFFER_SIZE (buf));
//gst_util_dump_mem (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
@ -252,7 +252,7 @@ gst_asyncdisksrc_get (GstPad *pad)
if (src->new_seek) {
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLUSH);
DEBUG ("new seek\n");
GST_DEBUG (0,"new seek\n");
src->new_seek = FALSE;
}
@ -303,7 +303,7 @@ gst_asyncdisksrc_get_region (GstPad *pad, gulong offset, gulong size)
} else
GST_BUFFER_SIZE (buf) = size;
DEBUG ("map %p, offset %d, size %ld\n", src->map, offset, GST_BUFFER_SIZE (buf));
GST_DEBUG (0,"map %p, offset %d, size %ld\n", src->map, offset, GST_BUFFER_SIZE (buf));
/* we're done, return the buffer off now */
return buf;

View file

@ -247,7 +247,7 @@ gst_audiosink_chain (GstPad *pad, GstBuffer *buf)
// g_return_if_fail(GST_FLAG_IS_SET(audiosink,GST_STATE_RUNNING));
if ((in_flush = GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLUSH))) {
DEBUG ("audiosink: flush\n");
GST_DEBUG (0,"audiosink: flush\n");
ioctl (audiosink->fd, SNDCTL_DSP_RESET, 0);
}
@ -277,7 +277,7 @@ gst_audiosink_chain (GstPad *pad, GstBuffer *buf)
if (!audiosink->mute) {
gst_clock_wait (audiosink->clock, GST_BUFFER_TIMESTAMP (buf), GST_OBJECT (audiosink));
ioctl (audiosink->fd, SNDCTL_DSP_GETOSPACE, &ospace);
DEBUG ("audiosink: (%d bytes buffer) %d %p %d\n", ospace.bytes,
GST_DEBUG (0,"audiosink: (%d bytes buffer) %d %p %d\n", ospace.bytes,
audiosink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
write (audiosink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
//write(STDOUT_FILENO,GST_BUFFER_DATA(buf),GST_BUFFER_SIZE(buf));

View file

@ -273,7 +273,7 @@ gst_audiosrc_open_audio (GstAudioSrc *src)
/* set card state */
gst_audiosrc_sync_parms (src);
DEBUG("opened audio\n");
GST_DEBUG (0,"opened audio\n");
GST_FLAG_SET (src, GST_AUDIOSRC_OPEN);
return TRUE;

View file

@ -236,7 +236,7 @@ gst_disksrc_get (GstPad *pad)
/* if we didn't get as many bytes as we asked for, we're at EOF */
if (readbytes < src->bytes_per_read) {
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_EOS);
DEBUG("setting GST_BUFFER_EOS\n");
GST_DEBUG (0,"setting GST_BUFFER_EOS\n");
}
/* if we have a new buffer from a seek, mark it */
@ -249,9 +249,9 @@ gst_disksrc_get (GstPad *pad)
GST_BUFFER_SIZE (buf) = readbytes;
src->curoffset += readbytes;
DEBUG("pushing %d bytes with offset %d\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
GST_DEBUG (0,"pushing %d bytes with offset %d\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
/* we're done, push the buffer off now */
DEBUG("returning %d bytes with offset %d done\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
GST_DEBUG (0,"returning %d bytes with offset %d done\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
return buf;
}
@ -277,7 +277,7 @@ gst_disksrc_open_file (GstDiskSrc *src)
}
else {
src->size = f_stat.st_size;
DEBUG("gstdisksrc: file size %ld\n", src->size);
GST_DEBUG (0,"gstdisksrc: file size %ld\n", src->size);
}
GST_FLAG_SET (src, GST_DISKSRC_OPEN);
return TRUE;
@ -306,7 +306,7 @@ gst_disksrc_change_state (GstElement *element)
{
g_return_val_if_fail (GST_IS_DISKSRC (element), GST_STATE_FAILURE);
DEBUG("gstdisksrc: state pending %d\n", GST_STATE_PENDING (element));
GST_DEBUG (0,"gstdisksrc: state pending %d\n", GST_STATE_PENDING (element));
/* if going down into NULL state, close the file if it's open */
if (GST_STATE_PENDING (element) == GST_STATE_NULL) {

View file

@ -118,7 +118,7 @@ gst_fdsink_chain (GstPad *pad, GstBuffer *buf)
g_return_if_fail (fdsink->fd >= 0);
if (GST_BUFFER_DATA (buf)) {
DEBUG("writing %d bytes to file descriptor %d\n",GST_BUFFER_SIZE (buf), fdsink->fd);
GST_DEBUG (0,"writing %d bytes to file descriptor %d\n",GST_BUFFER_SIZE (buf), fdsink->fd);
write (fdsink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
}

View file

@ -139,12 +139,12 @@ static gboolean gst_pipefilter_read_and_push(GstPipefilter *pipefilter) {
g_return_val_if_fail(GST_BUFFER_DATA(newbuf) != NULL, FALSE);
/* read it in from the file */
DEBUG("attemting to read %ld bytes\n", pipefilter->bytes_per_read);
GST_DEBUG (0,"attemting to read %ld bytes\n", pipefilter->bytes_per_read);
readbytes = read(pipefilter->fdout[0],GST_BUFFER_DATA(newbuf),pipefilter->bytes_per_read);
DEBUG("read %ld bytes\n", readbytes);
GST_DEBUG (0,"read %ld bytes\n", readbytes);
if (readbytes < 0) {
if (errno == EAGAIN) {
DEBUG("no input yet\n");
GST_DEBUG (0,"no input yet\n");
gst_buffer_unref(newbuf);
return FALSE;
}
@ -186,9 +186,9 @@ void gst_pipefilter_chain(GstPad *pad,GstBuffer *buf) {
data = GST_BUFFER_DATA(buf);
size = GST_BUFFER_SIZE(buf);
DEBUG("attemting to write %ld bytes\n", size);
GST_DEBUG (0,"attemting to write %ld bytes\n", size);
writebytes = write(pipefilter->fdin[1],data,size);
DEBUG("written %ld bytes\n", writebytes);
GST_DEBUG (0,"written %ld bytes\n", writebytes);
if (writebytes < 0) {
perror("write");
gst_element_error(GST_ELEMENT(pipefilter),"writing");

View file

@ -149,7 +149,7 @@ gst_queue_init (GstQueue *queue)
static void
gst_queue_cleanup_buffers (gpointer data, const gpointer user_data)
{
DEBUG("queue: %s cleaning buffer %p\n", (gchar *)user_data, data);
GST_DEBUG (0,"queue: %s cleaning buffer %p\n", (gchar *)user_data, data);
gst_buffer_unref (GST_BUFFER (data));
}
@ -181,19 +181,19 @@ gst_queue_chain (GstPad *pad, GstBuffer *buf)
/* we have to lock the queue since we span threads */
DEBUG("queue: try have queue lock\n");
GST_DEBUG (0,"queue: try have queue lock\n");
GST_LOCK (queue);
DEBUG("queue: %s adding buffer %p %ld\n", name, buf, pthread_self ());
DEBUG("queue: have queue lock\n");
GST_DEBUG (0,"queue: %s adding buffer %p %ld\n", name, buf, pthread_self ());
GST_DEBUG (0,"queue: have queue lock\n");
if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLUSH)) {
gst_queue_flush (queue);
}
DEBUG("queue: %s: chain %d %p\n", name, queue->level_buffers, buf);
GST_DEBUG (0,"queue: %s: chain %d %p\n", name, queue->level_buffers, buf);
while (queue->level_buffers >= queue->max_buffers) {
DEBUG("queue: %s waiting %d\n", name, queue->level_buffers);
GST_DEBUG (0,"queue: %s waiting %d\n", name, queue->level_buffers);
STATUS("%s: O\n");
GST_UNLOCK (queue);
g_mutex_lock (queue->fulllock);
@ -201,20 +201,20 @@ gst_queue_chain (GstPad *pad, GstBuffer *buf)
g_mutex_unlock (queue->fulllock);
GST_LOCK (queue);
STATUS("%s: O+\n");
DEBUG("queue: %s waiting done %d\n", name, queue->level_buffers);
GST_DEBUG (0,"queue: %s waiting done %d\n", name, queue->level_buffers);
}
/* put the buffer on the tail of the list */
queue->queue = g_slist_append (queue->queue, buf);
// STATUS("%s: +\n");
DEBUG("(%s:%s)+ ",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"(%s:%s)+ ",GST_DEBUG_PAD_NAME(pad));
/* if we were empty, but aren't any more, signal a condition */
tosignal = (queue->level_buffers >= 0);
queue->level_buffers++;
/* we can unlock now */
DEBUG("queue: %s chain %d end signal(%d,%p)\n", name, queue->level_buffers, tosignal, queue->emptycond);
GST_DEBUG (0,"queue: %s chain %d end signal(%d,%p)\n", name, queue->level_buffers, tosignal, queue->emptycond);
GST_UNLOCK (queue);
if (tosignal) {
@ -238,10 +238,10 @@ gst_queue_get (GstPad *pad)
name = gst_element_get_name (GST_ELEMENT (queue));
/* have to lock for thread-safety */
DEBUG("queue: %s try have queue lock\n", name);
GST_DEBUG (0,"queue: %s try have queue lock\n", name);
GST_LOCK (queue);
DEBUG("queue: %s push %d %ld %p\n", name, queue->level_buffers, pthread_self (), queue->emptycond);
DEBUG("queue: %s have queue lock\n", name);
GST_DEBUG (0,"queue: %s push %d %ld %p\n", name, queue->level_buffers, pthread_self (), queue->emptycond);
GST_DEBUG (0,"queue: %s have queue lock\n", name);
// we bail if there's nothing there
if (!queue->level_buffers && !queue->block) {
@ -261,13 +261,13 @@ gst_queue_get (GstPad *pad)
front = queue->queue;
buf = (GstBuffer *)(front->data);
DEBUG("retrieved buffer %p from queue\n",buf);
GST_DEBUG (0,"retrieved buffer %p from queue\n",buf);
queue->queue = g_slist_remove_link (queue->queue, front);
g_slist_free (front);
queue->level_buffers--;
// STATUS("%s: -\n");
DEBUG("(%s:%s)- ",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"(%s:%s)- ",GST_DEBUG_PAD_NAME(pad));
tosignal = queue->level_buffers < queue->max_buffers;
GST_UNLOCK(queue);
@ -279,9 +279,9 @@ gst_queue_get (GstPad *pad)
g_mutex_unlock (queue->fulllock);
}
// DEBUG("queue: %s pushing %d %p \n", name, queue->level_buffers, buf);
// GST_DEBUG (0,"queue: %s pushing %d %p \n", name, queue->level_buffers, buf);
// gst_pad_push (queue->srcpad, buf);
// DEBUG("queue: %s pushing %d done \n", name, queue->level_buffers);
// GST_DEBUG (0,"queue: %s pushing %d done \n", name, queue->level_buffers);
return buf;
/* unlock now */
@ -294,7 +294,7 @@ gst_queue_change_state (GstElement *element)
g_return_val_if_fail (GST_IS_QUEUE (element), GST_STATE_FAILURE);
queue = GST_QUEUE (element);
DEBUG("gstqueue: state pending %d\n", GST_STATE_PENDING (element));
GST_DEBUG (0,"gstqueue: state pending %d\n", GST_STATE_PENDING (element));
/* if going down into NULL state, clear out buffers*/
if (GST_STATE_PENDING (element) == GST_STATE_READY) {

View file

@ -26,6 +26,7 @@
#include <sys/soundcard.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <gstsinesrc.h>

View file

@ -52,7 +52,7 @@ gst_init (int *argc, char **argv[])
{
GstTrace *gst_trace;
INFO (GST_INFO_GST_INIT, "Initializing GStreamer Core Library");
GST_INFO (GST_CAT_GST_INIT, "Initializing GStreamer Core Library");
if (!g_thread_supported ()) g_thread_init (NULL);

View file

@ -89,7 +89,7 @@ gst_autoplug_can_match (GstElementFactory *src, GstElementFactory *dest)
if (srctemp->direction == GST_PAD_SRC &&
desttemp->direction == GST_PAD_SINK) {
if (gst_caps_list_check_compatibility (srctemp->caps, desttemp->caps)) {
INFO(0,"factory \"%s\" can connect with factory \"%s\"", src->name, dest->name);
GST_INFO (0,"factory \"%s\" can connect with factory \"%s\"", src->name, dest->name);
return TRUE;
}
}
@ -98,7 +98,7 @@ gst_autoplug_can_match (GstElementFactory *src, GstElementFactory *dest)
}
srctemps = g_list_next (srctemps);
}
INFO(0,"factory \"%s\" cannot connect with factory \"%s\"", src->name, dest->name);
GST_INFO (0,"factory \"%s\" cannot connect with factory \"%s\"", src->name, dest->name);
return FALSE;
}
@ -123,15 +123,15 @@ gst_autoplug_caps_find_cost (gpointer src, gpointer dest, gpointer data)
if (IS_CAPS (src) && IS_CAPS (dest)) {
res = gst_caps_list_check_compatibility ((GList *)src, (GList *)dest);
//INFO (0,"caps %d to caps %d %d", ((GstCaps *)src)->id, ((GstCaps *)dest)->id, res);
//GST_INFO (0,"caps %d to caps %d %d", ((GstCaps *)src)->id, ((GstCaps *)dest)->id, res);
}
else if (IS_CAPS (src)) {
res = gst_elementfactory_can_sink_caps_list ((GstElementFactory *)dest, (GList *)src);
//INFO (0,"factory %s to src caps %d %d", ((GstElementFactory *)dest)->name, ((GstCaps *)src)->id, res);
//GST_INFO (0,"factory %s to src caps %d %d", ((GstElementFactory *)dest)->name, ((GstCaps *)src)->id, res);
}
else if (IS_CAPS (dest)) {
res = gst_elementfactory_can_src_caps_list ((GstElementFactory *)src, (GList *)dest);
//INFO (0,"factory %s to sink caps %d %d", ((GstElementFactory *)src)->name, ((GstCaps *)dest)->id, res);
//GST_INFO (0,"factory %s to sink caps %d %d", ((GstElementFactory *)src)->name, ((GstCaps *)dest)->id, res);
}
else {
res = gst_autoplug_can_match ((GstElementFactory *)src, (GstElementFactory *)dest);
@ -161,7 +161,7 @@ gst_autoplug_caps (GstCaps *srccaps, GstCaps *sinkcaps)
caps.src = g_list_prepend (NULL,srccaps);
caps.sink = g_list_prepend (NULL,sinkcaps);
INFO (0,"autoplugging two caps structures");
GST_INFO (0,"autoplugging two caps structures");
return gst_autoplug_func (caps.src, caps.sink,
gst_autoplug_elementfactory_get_list,
@ -187,7 +187,7 @@ gst_autoplug_caps_list (GList *srccaps, GList *sinkcaps)
caps.src = srccaps;
caps.sink = sinkcaps;
INFO (0,"autoplugging two caps list structures");
GST_INFO (0,"autoplugging two caps list structures");
return gst_autoplug_func (caps.src, caps.sink,
gst_autoplug_elementfactory_get_list,
@ -213,7 +213,7 @@ gst_autoplug_pads (GstPad *srcpad, GstPad *sinkpad)
caps.src = srcpad->caps;
caps.sink = sinkpad->caps;
INFO (0,"autoplugging two caps structures");
GST_INFO (0,"autoplugging two caps structures");
return gst_autoplug_func (caps.src, caps.sink,
gst_autoplug_elementfactory_get_list,
@ -240,7 +240,7 @@ construct_path (gst_autoplug_node *rgnNodes, gpointer factory)
current = rgnNodes[find_factory(rgnNodes, factory)].iPrev;
INFO (0,"factories found in autoplugging (reversed order)");
GST_INFO (0,"factories found in autoplugging (reversed order)");
while (current != NULL)
{
@ -249,7 +249,7 @@ construct_path (gst_autoplug_node *rgnNodes, gpointer factory)
next = rgnNodes[find_factory(rgnNodes, current)].iPrev;
if (next) {
factories = g_list_prepend (factories, current);
INFO (0,"factory: \"%s\"", current->name);
GST_INFO (0,"factory: \"%s\"", current->name);
}
current = next;
}

View file

@ -175,7 +175,7 @@ gst_bin_add (GstBin *bin,
bin->numchildren++;
gst_object_set_parent (GST_OBJECT (element), GST_OBJECT (bin));
INFO_ELEMENT (GST_INFO_PARENTAGE, bin, "added child %s", gst_element_get_name(element));
GST_INFO_ELEMENT (GST_CAT_PARENTAGE, bin, "added child %s", gst_element_get_name(element));
/* we know we have at least one child, we just added one... */
// if (GST_STATE(element) < GST_STATE_READY)
@ -207,7 +207,7 @@ gst_bin_remove (GstBin *bin,
if (g_list_find(bin->children, element) == NULL) {
// FIXME this should be a warning!!!
ERROR_OBJECT(bin,element,"no such element in bin");
GST_ERROR_OBJECT(bin,element,"no such element in bin");
return;
}
@ -215,7 +215,7 @@ gst_bin_remove (GstBin *bin,
bin->children = g_list_remove (bin->children, element);
bin->numchildren--;
INFO_ELEMENT (GST_INFO_PARENTAGE, bin, "removed child %s", gst_element_get_name(element));
GST_INFO_ELEMENT (GST_CAT_PARENTAGE, bin, "removed child %s", gst_element_get_name(element));
/* if we're down to zero children, force state to NULL */
if (bin->numchildren == 0)
@ -230,17 +230,17 @@ gst_bin_change_state (GstElement *element)
GList *children;
GstElement *child;
DEBUG_ENTER("(\"%s\")",gst_element_get_name (element));
GST_DEBUG_ENTER("(\"%s\")",gst_element_get_name (element));
g_return_val_if_fail (GST_IS_BIN (element), GST_STATE_FAILURE);
bin = GST_BIN (element);
// DEBUG("currently %d(%s), %d(%s) pending\n",GST_STATE (element),
// GST_DEBUG (0,"currently %d(%s), %d(%s) pending\n",GST_STATE (element),
// _gst_print_statename (GST_STATE (element)), GST_STATE_PENDING (element),
// _gst_print_statename (GST_STATE_PENDING (element)));
INFO_ELEMENT (GST_INFO_STATES, element, "changing bin's state from %s to %s",
GST_INFO_ELEMENT (GST_CAT_STATES, element, "changing bin's state from %s to %s",
_gst_print_statename (GST_STATE (element)),
_gst_print_statename (GST_STATE_PENDING (element)));
@ -250,16 +250,16 @@ gst_bin_change_state (GstElement *element)
children = bin->children;
while (children) {
child = GST_ELEMENT (children->data);
DEBUG("setting state on '%s'\n",gst_element_get_name (child));
GST_DEBUG (0,"setting state on '%s'\n",gst_element_get_name (child));
switch (gst_element_set_state (child, GST_STATE_PENDING (element))) {
case GST_STATE_FAILURE:
GST_STATE_PENDING (element) = GST_STATE_NONE_PENDING;
DEBUG("child '%s' failed to go to state %d(%s)\n", gst_element_get_name (child),
GST_DEBUG (0,"child '%s' failed to go to state %d(%s)\n", gst_element_get_name (child),
GST_STATE_PENDING (element), _gst_print_statename (GST_STATE_PENDING (element)));
return GST_STATE_FAILURE;
break;
case GST_STATE_ASYNC:
DEBUG("child '%s' is changing state asynchronously\n", gst_element_get_name (child));
GST_DEBUG (0,"child '%s' is changing state asynchronously\n", gst_element_get_name (child));
break;
}
// g_print("\n");
@ -348,7 +348,7 @@ gst_bin_set_state_type (GstBin *bin,
{
GstBinClass *oclass;
DEBUG("gst_bin_set_state_type(\"%s\",%d,%d)\n",
GST_DEBUG (0,"gst_bin_set_state_type(\"%s\",%d,%d)\n",
gst_element_get_name (GST_ELEMENT (bin)), state,type);
g_return_val_if_fail (bin != NULL, FALSE);
@ -368,7 +368,7 @@ gst_bin_real_destroy (GtkObject *object)
GList *children;
GstElement *child;
DEBUG("in gst_bin_real_destroy()\n");
GST_DEBUG (0,"in gst_bin_real_destroy()\n");
children = bin->children;
while (children) {
@ -400,7 +400,7 @@ gst_bin_get_by_name (GstBin *bin,
g_return_val_if_fail (GST_IS_BIN (bin), NULL);
g_return_val_if_fail (name != NULL, NULL);
INFO_ELEMENT (GST_INFO_PARENTAGE, bin, "looking up child element %s", name);
GST_INFO_ELEMENT (GST_CAT_PARENTAGE, bin, "looking up child element %s", name);
children = bin->children;
while (children) {
@ -449,7 +449,7 @@ gst_bin_save_thyself (GstElement *element,
childlist = xmlNewChild (parent,NULL,"children",NULL);
INFO_ELEMENT (GST_INFO_XML, bin, "saving %d children", bin->numchildren);
GST_INFO_ELEMENT (GST_CAT_XML, bin, "saving %d children", bin->numchildren);
children = bin->children;
while (children) {
@ -473,7 +473,7 @@ gst_bin_restore_thyself (GstElement *element,
while (field) {
if (!strcmp (field->name, "children")) {
INFO_ELEMENT (GST_INFO_XML, element, "loading children");
GST_INFO_ELEMENT (GST_CAT_XML, element, "loading children");
childlist = field->childs;
while (childlist) {
if (!strcmp (childlist->name, "element")) {
@ -510,14 +510,14 @@ gst_bin_iterate (GstBin *bin)
{
GstBinClass *oclass;
DEBUG_ENTER("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
GST_DEBUG_ENTER("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
oclass = GST_BIN_CLASS (GTK_OBJECT (bin)->klass);
if (oclass->iterate)
(oclass->iterate) (bin);
DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
GST_DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
}
/**
@ -572,34 +572,34 @@ gst_bin_create_plan_func (GstBin *bin)
GSList *pending = NULL;
GstBin *pending_bin;
DEBUG_SET_STRING("(\"%s\")",gst_element_get_name (GST_ELEMENT (bin)));
DEBUG_ENTER_STRING;
GST_DEBUG_SET_STRING("(\"%s\")",gst_element_get_name (GST_ELEMENT (bin)));
GST_DEBUG_ENTER_STRING;
INFO_ELEMENT (GST_INFO_PLANNING, bin, "creating plan");
GST_INFO_ELEMENT (GST_CAT_PLANNING, bin, "creating plan");
// first figure out which element is the manager of this and all child elements
// if we're a managing bin ourselves, that'd be us
if (GST_FLAG_IS_SET (bin, GST_BIN_FLAG_MANAGER)) {
manager = GST_ELEMENT (bin);
DEBUG("setting manager to self\n");
GST_DEBUG (0,"setting manager to self\n");
// otherwise, it's what our parent says it is
} else {
manager = gst_element_get_manager (GST_ELEMENT (bin));
if (!manager) {
DEBUG("manager not set for element \"%s\" assuming manager is self\n", gst_element_get_name (GST_ELEMENT (bin)));
GST_DEBUG (0,"manager not set for element \"%s\" assuming manager is self\n", gst_element_get_name (GST_ELEMENT (bin)));
manager = GST_ELEMENT (bin);
GST_FLAG_SET (bin, GST_BIN_FLAG_MANAGER);
}
DEBUG("setting manager to \"%s\"\n", gst_element_get_name (manager));
GST_DEBUG (0,"setting manager to \"%s\"\n", gst_element_get_name (manager));
}
// perform the first recursive pass of plan generation
// we set the manager of every element but those who manage themselves
// the need for cothreads is also determined recursively
DEBUG("performing first-phase recursion\n");
GST_DEBUG (0,"performing first-phase recursion\n");
bin->need_cothreads = bin->use_cothreads;
if (bin->need_cothreads)
DEBUG("requiring cothreads because we're forced to\n");
GST_DEBUG (0,"requiring cothreads because we're forced to\n");
elements = bin->children;
while (elements) {
@ -608,35 +608,35 @@ gst_bin_create_plan_func (GstBin *bin)
#ifdef GST_DEBUG_ENABLED
elementname = gst_element_get_name (element);
#endif
DEBUG("have element \"%s\"\n",elementname);
GST_DEBUG (0,"have element \"%s\"\n",elementname);
// first set their manager
DEBUG("setting manager of \"%s\" to \"%s\"\n",elementname,gst_element_get_name(manager));
GST_DEBUG (0,"setting manager of \"%s\" to \"%s\"\n",elementname,gst_element_get_name(manager));
gst_element_set_manager (element, manager);
// we do recursion and such for Bins
if (GST_IS_BIN (element)) {
// recurse into the child Bin
DEBUG("recursing into child Bin \"%s\"\n",elementname);
GST_DEBUG (0,"recursing into child Bin \"%s\"\n",elementname);
gst_bin_create_plan (GST_BIN (element));
// check to see if it needs cothreads and isn't self-managing
if (((GST_BIN (element))->need_cothreads) && !GST_FLAG_IS_SET(element,GST_BIN_FLAG_MANAGER)) {
DEBUG("requiring cothreads because child bin \"%s\" does\n",elementname);
GST_DEBUG (0,"requiring cothreads because child bin \"%s\" does\n",elementname);
bin->need_cothreads = TRUE;
}
} else {
// then we need to determine whether they need cothreads
// if it's a loop-based element, use cothreads
if (element->loopfunc != NULL) {
DEBUG("requiring cothreads because \"%s\" is a loop-based element\n",elementname);
GST_DEBUG (0,"requiring cothreads because \"%s\" is a loop-based element\n",elementname);
GST_FLAG_SET (element, GST_ELEMENT_USE_COTHREAD);
// if it's a 'complex' element, use cothreads
} else if (GST_FLAG_IS_SET (element, GST_ELEMENT_COMPLEX)) {
DEBUG("requiring cothreads because \"%s\" is complex\n",elementname);
GST_DEBUG (0,"requiring cothreads because \"%s\" is complex\n",elementname);
GST_FLAG_SET (element, GST_ELEMENT_USE_COTHREAD);
// if the element has more than one sink pad, use cothreads
} else if (element->numsinkpads > 1) {
DEBUG("requiring cothreads because \"%s\" has more than one sink pad\n",elementname);
GST_DEBUG (0,"requiring cothreads because \"%s\" has more than one sink pad\n",elementname);
GST_FLAG_SET (element, GST_ELEMENT_USE_COTHREAD);
}
if (GST_FLAG_IS_SET (element, GST_ELEMENT_USE_COTHREAD))
@ -647,7 +647,7 @@ gst_bin_create_plan_func (GstBin *bin)
// if we're not a manager thread, we're done.
if (!GST_FLAG_IS_SET (bin, GST_BIN_FLAG_MANAGER)) {
DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
GST_DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
return;
}
@ -658,7 +658,7 @@ gst_bin_create_plan_func (GstBin *bin)
// find all the managed children
// here we pull off the trick of walking an entire arbitrary tree without recursion
DEBUG("attempting to find all the elements to manage\n");
GST_DEBUG (0,"attempting to find all the elements to manage\n");
pending = g_slist_prepend (pending, bin);
do {
// retrieve the top of the stack and pop it
@ -666,7 +666,7 @@ gst_bin_create_plan_func (GstBin *bin)
pending = g_slist_remove (pending, pending_bin);
// walk the list of elements, find bins, and do stuff
DEBUG("checking Bin \"%s\" for managed elements\n",
GST_DEBUG (0,"checking Bin \"%s\" for managed elements\n",
gst_element_get_name (GST_ELEMENT (pending_bin)));
elements = pending_bin->children;
while (elements) {
@ -680,11 +680,11 @@ gst_bin_create_plan_func (GstBin *bin)
if (element->manager == GST_ELEMENT(bin)) {
// if it's a Bin, add it to the list of Bins to check
if (GST_IS_BIN (element)) {
DEBUG("flattened recurse into \"%s\"\n",elementname);
GST_DEBUG (0,"flattened recurse into \"%s\"\n",elementname);
pending = g_slist_prepend (pending, element);
// otherwise add it to the list of elements
} else {
DEBUG("found element \"%s\" that I manage\n",elementname);
GST_DEBUG (0,"found element \"%s\" that I manage\n",elementname);
bin->managed_elements = g_list_prepend (bin->managed_elements, element);
bin->num_managed_elements++;
}
@ -692,11 +692,11 @@ gst_bin_create_plan_func (GstBin *bin)
}
} while (pending);
DEBUG("have %d elements to manage, implementing plan\n",bin->num_managed_elements);
GST_DEBUG (0,"have %d elements to manage, implementing plan\n",bin->num_managed_elements);
gst_bin_schedule(bin);
DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
GST_DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
}
static void
@ -710,8 +710,8 @@ gst_bin_iterate_func (GstBin *bin)
GstPad *pad;
GstBuffer *buf = NULL;
DEBUG_SET_STRING("(\"%s\")", gst_element_get_name (GST_ELEMENT (bin)));
DEBUG_ENTER_STRING;
GST_DEBUG_SET_STRING("(\"%s\")", gst_element_get_name (GST_ELEMENT (bin)));
GST_DEBUG_ENTER_STRING;
g_return_if_fail (bin != NULL);
g_return_if_fail (GST_IS_BIN (bin));
@ -726,16 +726,16 @@ gst_bin_iterate_func (GstBin *bin)
if (chain->need_cothreads) {
// all we really have to do is switch to the first child
// FIXME this should be lots more intelligent about where to start
DEBUG("starting iteration via cothreads\n");
GST_DEBUG (0,"starting iteration via cothreads\n");
entry = GST_ELEMENT (chain->elements->data);
GST_FLAG_SET (entry, GST_ELEMENT_COTHREAD_STOPPING);
DEBUG("set COTHREAD_STOPPING flag on \"%s\"(@%p)\n",
GST_DEBUG (0,"set COTHREAD_STOPPING flag on \"%s\"(@%p)\n",
gst_element_get_name(entry),entry);
cothread_switch (entry->threadstate);
} else {
DEBUG("starting iteration via chain-functions\n");
GST_DEBUG (0,"starting iteration via chain-functions\n");
entries = chain->entries;
@ -745,7 +745,7 @@ gst_bin_iterate_func (GstBin *bin)
entry = GST_ELEMENT (entries->data);
entries = g_list_next (entries);
DEBUG("have entry \"%s\"\n",gst_element_get_name(entry));
GST_DEBUG (0,"have entry \"%s\"\n",gst_element_get_name(entry));
if (GST_IS_BIN (entry)) {
gst_bin_iterate (GST_BIN (entry));
@ -754,7 +754,7 @@ gst_bin_iterate_func (GstBin *bin)
while (pads) {
pad = GST_PAD (pads->data);
if (pad->direction == GST_PAD_SRC) {
DEBUG("calling getfunc of %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"calling getfunc of %s:%s\n",GST_DEBUG_PAD_NAME(pad));
if (pad->getfunc == NULL)
fprintf(stderr, "error, no getfunc in \"%s\"\n", gst_element_get_name (entry));
else
@ -768,5 +768,5 @@ gst_bin_iterate_func (GstBin *bin)
}
}
DEBUG_LEAVE("(%s)", gst_element_get_name (GST_ELEMENT (bin)));
GST_DEBUG_LEAVE("(%s)", gst_element_get_name (GST_ELEMENT (bin)));
}

View file

@ -49,7 +49,7 @@ gst_buffer_new(void)
GstBuffer *buffer;
buffer = g_mem_chunk_alloc (_gst_buffer_chunk);
INFO(GST_INFO_BUFFER,"creating new buffer %p",buffer);
GST_INFO (GST_CAT_BUFFER,"creating new buffer %p",buffer);
// g_print("allocating new mutex\n");
buffer->lock = g_mutex_new ();
@ -108,7 +108,7 @@ gst_buffer_create_sub (GstBuffer *parent,
g_return_val_if_fail ((offset+size) <= parent->size, NULL);
buffer = g_mem_chunk_alloc (_gst_buffer_chunk);
INFO(GST_INFO_BUFFER,"creating new subbuffer %p from parent %p", buffer, parent);
GST_INFO (GST_CAT_BUFFER,"creating new subbuffer %p from parent %p", buffer, parent);
buffer->lock = g_mutex_new ();
#ifdef HAVE_ATOMIC_H
@ -163,7 +163,7 @@ gst_buffer_append (GstBuffer *buffer,
g_return_val_if_fail (append != NULL, NULL);
g_return_val_if_fail (buffer->pool == NULL, NULL);
INFO(GST_INFO_BUFFER,"appending buffers %p and %p",buffer,append);
GST_INFO (GST_CAT_BUFFER,"appending buffers %p and %p",buffer,append);
GST_BUFFER_LOCK (buffer);
// the buffer is not used by anyone else
@ -202,7 +202,7 @@ void gst_buffer_destroy (GstBuffer *buffer)
g_return_if_fail (buffer != NULL);
INFO(GST_INFO_BUFFER,"freeing %sbuffer %p", (buffer->parent?"sub":""),buffer);
GST_INFO (GST_CAT_BUFFER,"freeing %sbuffer %p", (buffer->parent?"sub":""),buffer);
// free the data only if there is some, DONTFREE isn't set, and not sub
if (GST_BUFFER_DATA (buffer) &&
@ -242,7 +242,7 @@ gst_buffer_ref (GstBuffer *buffer)
{
g_return_if_fail (buffer != NULL);
DEBUG("referencing buffer %p\n", buffer);
GST_DEBUG (0,"referencing buffer %p\n", buffer);
#ifdef HAVE_ATOMIC_H
//g_return_if_fail(atomic_read(&(buffer->refcount)) > 0);
@ -293,7 +293,7 @@ gst_buffer_unref (GstBuffer *buffer)
g_return_if_fail (buffer != NULL);
DEBUG("unreferencing buffer %p\n", buffer);
GST_DEBUG (0,"unreferencing buffer %p\n", buffer);
#ifdef HAVE_ATOMIC_H
g_return_if_fail (atomic_read (&(buffer->refcount)) > 0);

View file

@ -39,7 +39,7 @@ gst_buffer_pool_new (void)
GstBufferPool *pool;
pool = g_malloc (sizeof(GstBufferPool));
DEBUG("BUF: allocating new buffer pool %p\n", pool);
GST_DEBUG (0,"BUF: allocating new buffer pool %p\n", pool);
pool->new_buffer = NULL;
pool->destroy_buffer = NULL;

View file

@ -209,7 +209,7 @@ gst_caps_check_compatibility (GstCaps *fromcaps, GstCaps *tocaps)
g_return_val_if_fail (tocaps != NULL, FALSE);
if (fromcaps->id != tocaps->id) {
DEBUG ("gstcaps: mime types wrong\n");
GST_DEBUG (0,"gstcaps: mime types wrong\n");
return FALSE;
}
@ -218,13 +218,13 @@ gst_caps_check_compatibility (GstCaps *fromcaps, GstCaps *tocaps)
return gst_props_check_compatibility (fromcaps->properties, tocaps->properties);
}
else {
DEBUG ("gstcaps: no source caps\n");
GST_DEBUG (0,"gstcaps: no source caps\n");
return FALSE;
}
}
else {
// assume it accepts everything
DEBUG ("gstcaps: no caps\n");
GST_DEBUG (0,"gstcaps: no caps\n");
return TRUE;
}
}

View file

@ -71,7 +71,7 @@ void
gst_clock_register (GstClock *clock, GstObject *obj)
{
if ((GST_ELEMENT(obj))->numsrcpads == 0) {
DEBUG("gst_clock: setting registered sink object 0x%p\n", obj);
GST_DEBUG (0,"gst_clock: setting registered sink object 0x%p\n", obj);
clock->sinkobjects = g_list_append (clock->sinkobjects, obj);
clock->num++;
}
@ -88,7 +88,7 @@ gst_clock_set (GstClock *clock, GstClockTime time)
g_mutex_lock (clock->lock);
clock->start_time = now - time;
g_mutex_unlock (clock->lock);
DEBUG("gst_clock: setting clock to %llu %llu %llu\n", time, now, clock->start_time);
GST_DEBUG (0,"gst_clock: setting clock to %llu %llu %llu\n", time, now, clock->start_time);
}
GstClockTimeDiff
@ -115,7 +115,7 @@ gst_clock_reset (GstClock *clock)
clock->start_time = ((guint64)tfnow.tv_sec)*1000000LL+tfnow.tv_usec;
clock->current_time = clock->start_time;
clock->adjust = 0LL;
DEBUG("gst_clock: setting start clock %llu\n", clock->start_time);
GST_DEBUG (0,"gst_clock: setting start clock %llu\n", clock->start_time);
g_mutex_unlock (clock->lock);
}
@ -133,7 +133,7 @@ gst_clock_wait (GstClock *clock, GstClockTime time, GstObject *obj)
diff = GST_CLOCK_DIFF (time, now);
// if we are not behind wait a bit
DEBUG("gst_clock: %s waiting for time %08llu %08llu %08lld\n", gst_element_get_name(GST_ELEMENT(obj)), time, now, diff);
GST_DEBUG (0,"gst_clock: %s waiting for time %08llu %08llu %08lld\n", gst_element_get_name(GST_ELEMENT(obj)), time, now, diff);
g_mutex_unlock (clock->lock);
if (diff > 10000 ) {
@ -143,8 +143,8 @@ gst_clock_wait (GstClock *clock, GstClockTime time, GstObject *obj)
if (!tfnow.tv_sec) {
select(0, NULL, NULL, NULL, &tfnow);
}
else DEBUG("gst_clock: %s waiting %u %llu %llu %llu seconds\n", gst_element_get_name(GST_ELEMENT(obj)),
else GST_DEBUG (0,"gst_clock: %s waiting %u %llu %llu %llu seconds\n", gst_element_get_name(GST_ELEMENT(obj)),
(int)tfnow.tv_sec, now, diff, time);
}
DEBUG("gst_clock: %s waiting for time %08llu %08llu %08lld done \n", gst_element_get_name(GST_ELEMENT(obj)), time, now, diff);
GST_DEBUG (0,"gst_clock: %s waiting for time %08llu %08llu %08lld done \n", gst_element_get_name(GST_ELEMENT(obj)), time, now, diff);
}

View file

@ -69,7 +69,7 @@ _gst_cpu_initialize (void)
featurelist = stringcat(featurelist,"NONE");
}
GST_INFO (GST_INFO_GST_INIT, "CPU features: %s",featurelist);
GST_INFO (GST_CAT_GST_INIT, "CPU features: %s",featurelist);
}
GstCPUFlags

View file

@ -158,7 +158,7 @@ gst_element_add_pad (GstElement *element, GstPad *pad)
g_return_if_fail (GST_IS_PAD (pad));
/* set the pad's parent */
DEBUG("setting parent of pad '%s'(%p) to '%s'(%p)\n",
GST_DEBUG (0,"setting parent of pad '%s'(%p) to '%s'(%p)\n",
gst_pad_get_name(pad),pad,gst_element_get_name(element),element);
gst_pad_set_parent (pad,GST_OBJECT (element));
@ -317,12 +317,12 @@ gst_element_connect (GstElement *src, gchar *srcpadname,
/* obtain the pads requested */
srcpad = gst_element_get_pad (src, srcpadname);
if (srcpad == NULL) {
ERROR(src,"source element has no pad \"%s\"",srcpadname);
GST_ERROR(src,"source element has no pad \"%s\"",srcpadname);
return;
}
destpad = gst_element_get_pad (dest, destpadname);
if (srcpad == NULL) {
ERROR(dest,"destination element has no pad \"%s\"",destpadname);
GST_ERROR(dest,"destination element has no pad \"%s\"",destpadname);
return;
}
@ -332,7 +332,7 @@ gst_element_connect (GstElement *src, gchar *srcpadname,
/* have to make sure that they have the same parents... */
if (srcparent != destparent) {
ERROR_OBJECT(srcparent,destparent,"%s and %s have different parents",
GST_ERROR_OBJECT(srcparent,destparent,"%s and %s have different parents",
gst_element_get_name(src),gst_element_get_name(dest));
return;
}
@ -404,7 +404,7 @@ gst_element_set_state (GstElement *element, GstElementState state)
/* if that outright didn't work, we need to bail right away */
/* NOTE: this will bail on ASYNC as well! */
if (return_val == GST_STATE_FAILURE) {
// DEBUG("have async return from '%s'\n",gst_element_get_name(element));
// GST_DEBUG (0,"have async return from '%s'\n",gst_element_get_name(element));
return return_val;
}
}
@ -682,7 +682,7 @@ gst_element_load_thyself (xmlNodePtr parent,
g_return_val_if_fail (name != NULL, NULL);
g_return_val_if_fail (type != NULL, NULL);
INFO(GST_INFO_XML,"loading \"%s\" of type \"%s\"\n", name, type);
GST_INFO (GST_CAT_XML,"loading \"%s\" of type \"%s\"\n", name, type);
element = gst_elementfactory_make (type, name);

View file

@ -68,7 +68,7 @@ gst_elementfactory_find (gchar *name)
g_return_val_if_fail(name != NULL, NULL);
DEBUG("gstelementfactory: find \"%s\"\n", name);
GST_DEBUG (0,"gstelementfactory: find \"%s\"\n", name);
walk = _gst_elementfactories;
while (walk) {
@ -145,7 +145,7 @@ gst_elementfactory_create (GstElementFactory *factory,
g_return_val_if_fail(factory != NULL, NULL);
g_return_val_if_fail(name != NULL, NULL);
DEBUG("gstelementfactory: create \"%s\" \"%s\"\n", factory->name, name);
GST_DEBUG (0,"gstelementfactory: create \"%s\" \"%s\"\n", factory->name, name);
// it's not loaded, try to load the plugin
if (factory->type == 0) {
@ -162,7 +162,7 @@ gst_elementfactory_create (GstElementFactory *factory,
// attempt to set the elemenfactory class pointer if necessary
oclass = GST_ELEMENT_CLASS(GTK_OBJECT(element)->klass);
if (oclass->elementfactory == NULL) {
DEBUG ("gstelementfactory: class %s\n", factory->name);
GST_DEBUG (0,"gstelementfactory: class %s\n", factory->name);
oclass->elementfactory = factory;
}
@ -191,7 +191,7 @@ gst_elementfactory_make (gchar *factoryname, gchar *name)
g_return_val_if_fail(factoryname != NULL, NULL);
g_return_val_if_fail(name != NULL, NULL);
DEBUG("gstelementfactory: make \"%s\" \"%s\"\n", factoryname, name);
GST_DEBUG (0,"gstelementfactory: make \"%s\" \"%s\"\n", factoryname, name);
//gst_plugin_load_elementfactory(factoryname);
factory = gst_elementfactory_find(factoryname);

View file

@ -74,7 +74,7 @@ gst_default_info_handler (gint category, gchar *file, gchar *function,
gchar *elementname = empty,*location = empty;
if (debug_string == NULL) debug_string = "";
if (category != GST_INFO_GST_INIT)
if (category != GST_CAT_GST_INIT)
location = g_strdup_printf("%s:%d%s:",function,line,debug_string);
if (element && GST_IS_ELEMENT (element))
elementname = g_strdup_printf (" [%s]",gst_element_get_name (element));
@ -98,8 +98,11 @@ gst_info_get_categories () {
}
const gchar *
gst_info_get_category_name (gint category) {
return _gst_info_category_strings[category];
gst_get_category_name (gint category) {
if ((category >= 0) && (category < GST_CAT_MAX_CATEGORY))
return _gst_info_category_strings[category];
else
return NULL;
}
void

View file

@ -38,6 +38,8 @@
* DEBUG system
**********************************************************************/
extern guint32 _gst_debug_categories;
/* for include files that make too much noise normally */
#ifdef GST_DEBUG_FORCE_DISABLE
#undef GST_DEBUG_ENABLED
@ -47,6 +49,10 @@
#define GST_DEBUG_ENABLED
#endif
#ifndef GST_DEBUG_ENABLE_CATEGORIES
#define GST_DEBUG_ENABLE_CATEGORIES 0x00000000
#endif
/* fallback, this should probably be a 'weak' symbol or something */
G_GNUC_UNUSED static gchar *_debug_string = NULL;
@ -54,27 +60,47 @@ G_GNUC_UNUSED static gchar *_debug_string = NULL;
"DEBUG(%d:%d)" __PRETTY_FUNCTION__ ":%d" format , getpid() , cothread_getcurrent() , __LINE__ , ## args
#ifdef GST_DEBUG_ENABLED
#define DEBUG(format,args...) \
(_debug_string != NULL) ? \
fprintf(stderr,GST_DEBUG_PREFIX("%s: "format , _debug_string , ## args )) : \
fprintf(stderr,GST_DEBUG_PREFIX(": "format , ## args ))
#define DEBUG_NOPREFIX(format,args...) fprintf(stderr,format , ## args )
#define DEBUG_ENTER(format, args...) \
fprintf(stderr,GST_DEBUG_PREFIX(format": entering\n" , ## args ))
#define DEBUG_SET_STRING(format, args...) \
#define GST_DEBUG(cat,format,args...) G_STMT_START{ \
if (((1<<cat) & GST_DEBUG_ENABLE_CATEGORIES) && \
((1<<cat) & _gst_debug_categories)) \
(_debug_string != NULL) ? \
fprintf(stderr,GST_DEBUG_PREFIX("%s: "format , _debug_string , ## args )) : \
fprintf(stderr,GST_DEBUG_PREFIX(": "format , ## args )); \
}G_STMT_END
#define GST_DEBUG_NOPREFIX(cat,format,args...) G_STMT_START{ \
if (((1<<cat) & GST_DEBUG_ENABLE_CATEGORIES) && \
((1<<cat) & _gst_debug_categories)) \
fprintf(stderr,format , ## args ); \
}G_STMT_END
#define GST_DEBUG_ENTER(format, args...) G_STMT_START{ \
if (((1<<31) & GST_DEBUG_ENABLE_CATEGORIES) && \
((1<<31) & _gst_debug_categories)) \
fprintf(stderr,GST_DEBUG_PREFIX(format": entering\n" , ## args )); \
}G_STMT_END
#define GST_DEBUG_SET_STRING(format, args...) \
gchar *_debug_string = g_strdup_printf(format , ## args )
#define DEBUG_ENTER_STRING DEBUG_ENTER("%s",_debug_string)
#define DEBUG_LEAVE(format, args...) \
if (_debug_string != NULL) g_free(_debug_string),\
fprintf(stderr,GST_DEBUG_PREFIX(format": leaving\n" , ## args ))
#define DEBUG_LEAVE_STRING DEBUG_LEAVE("%s",_debug_string)
#define GST_DEBUG_ENTER_STRING GST_DEBUG_ENTER("%s",_debug_string)
#define GST_DEBUG_LEAVE(format, args...) G_STMT_START{ \
if (((1<<31) & GST_DEBUG_ENABLE_CATEGORIES) && \
((1<<31) & _gst_debug_categories)) \
if (_debug_string != NULL) g_free(_debug_string),\
fprintf(stderr,GST_DEBUG_PREFIX(format": leaving\n" , ## args )); \
}G_STMT_END
#define GST_DEBUG_LEAVE_STRING GST_DEBUG_LEAVE("%s",_debug_string)
#else
#define DEBUG(format, args...)
#define DEBUG_NOPREFIX(format, args...)
#define DEBUG_ENTER(format, args...)
#define DEBUG_LEAVE(format, args...)
#define DEBUG_SET_STRING(format, args...)
#define DEBUG_ENTER_STRING
#define GST_DEBUG(format, args...)
#define GST_DEBUG_NOPREFIX(format, args...)
#define GST_DEBUG_ENTER(format, args...)
#define GST_DEBUG_LEAVE(format, args...)
#define GST_DEBUG_SET_STRING(format, args...)
#define GST_DEBUG_ENTER_STRING
#endif
@ -189,53 +215,56 @@ extern guint32 _gst_info_categories;
#endif
#ifdef GST_INFO_ENABLED
#define INFO(cat,format,args...) G_STMT_START{ \
#define GST_INFO(cat,format,args...) G_STMT_START{ \
if ((1<<cat) & _gst_info_categories) \
_gst_info_handler(cat,__FILE__,__PRETTY_FUNCTION__,__LINE__,_debug_string, \
NULL,g_strdup_printf( format , ## args )); \
}G_STMT_END
#define INFO_ELEMENT(cat,element,format,args...) G_STMT_START{ \
#define GST_INFO_ELEMENT(cat,element,format,args...) G_STMT_START{ \
if ((1<<cat) & _gst_info_categories) \
_gst_info_handler(cat,__FILE__,__PRETTY_FUNCTION__,__LINE__,_debug_string, \
element,g_strdup_printf( format , ## args )); \
}G_STMT_END
#else
#define INFO(cat,format,args...)
#define INFO_ELEMENT(cat,element,format,args...)
#define GST_INFO(cat,format,args...)
#define GST_INFO_ELEMENT(cat,element,format,args...)
#endif
void gst_info_set_categories (guint32 categories);
guint32 gst_info_get_categories (void);
const gchar * gst_info_get_category_name (gint category);
void gst_info_enable_category (gint category);
void gst_info_disable_category (gint category);
const gchar * gst_get_category_name (gint category);
enum {
GST_INFO_GST_INIT = 0, // Library initialization
GST_INFO_COTHREADS, // Cothread creation, etc.
GST_INFO_COTHREAD_SWITCH, // Cothread switching
GST_INFO_AUTOPLUG, // Successful autoplug results
GST_INFO_AUTOPLUG_ATTEMPT, // Attempted autoplug operations
GST_INFO_PARENTAGE, // GstBin parentage issues
GST_INFO_STATES, // State changes and such
GST_INFO_PLANNING, // Plan generation
GST_INFO_SCHEDULING, // Schedule construction
GST_INFO_OPERATION, // Events during actual data movement
GST_INFO_BUFFER, // Buffer creation/destruction
GST_INFO_CAPS, // Capabilities matching
GST_INFO_CLOCK, // Clocking
GST_INFO_ELEMENT_PADS, // Element pad management
GST_INFO_ELEMENTFACTORY, // Elementfactory stuff
GST_INFO_PADS, // Pad creation/connection
GST_INFO_PIPELINE, // Pipeline stuff
GST_INFO_PLUGIN_LOADING, // Plugin loading
GST_INFO_PLUGIN_ERRORS, // Errors during plugin loading
GST_INFO_PROPERTIES, // Properties
GST_INFO_THREAD, // Thread creation/management
GST_INFO_TYPES, // Typing
GST_INFO_XML, // XML load/save of everything
GST_CAT_GST_INIT = 0, // Library initialization
GST_CAT_COTHREADS, // Cothread creation, etc.
GST_CAT_COTHREAD_SWITCH, // Cothread switching
GST_CAT_AUTOPLUG, // Successful autoplug results
GST_CAT_AUTOPLUG_ATTEMPT, // Attempted autoplug operations
GST_CAT_PARENTAGE, // GstBin parentage issues
GST_CAT_STATES, // State changes and such
GST_CAT_PLANNING, // Plan generation
GST_CAT_SCHEDULING, // Schedule construction
GST_CAT_OPERATION, // Events during actual data movement
GST_CAT_BUFFER, // Buffer creation/destruction
GST_CAT_CAPS, // Capabilities matching
GST_CAT_CLOCK, // Clocking
GST_CAT_ELEMENT_PADS, // Element pad management
GST_CAT_ELEMENTFACTORY, // Elementfactory stuff
GST_CAT_PADS, // Pad creation/connection
GST_CAT_PIPELINE, // Pipeline stuff
GST_CAT_PLUGIN_LOADING, // Plugin loading
GST_CAT_PLUGIN_ERRORS, // Errors during plugin loading
GST_CAT_PROPERTIES, // Properties
GST_CAT_THREAD, // Thread creation/management
GST_CAT_TYPES, // Typing
GST_CAT_XML, // XML load/save of everything
GST_CAT_MAX_CATEGORY,
};
@ -255,11 +284,11 @@ void gst_default_error_handler (gchar *file,gchar *function,
extern GstErrorHandler _gst_error_handler;
#define ERROR(element,format,args...) \
#define GST_ERROR(element,format,args...) \
_gst_error_handler(__FILE__,__PRETTY_FUNCTION__,__LINE__,_debug_string, \
element,NULL,g_strdup_printf( format , ## args ))
#define ERROR_OBJECT(element,object,format,args...) \
#define GST_ERROR_OBJECT(element,object,format,args...) \
_gst_error_handler(__FILE__,__PRETTY_FUNCTION__,__LINE__,_debug_string, \
element,object,g_strdup_printf( format , ## args ))

View file

@ -117,7 +117,7 @@ void gst_object_set_parent(GstObject *object,GstObject *parent) {
g_return_if_fail(object != parent);
if (object->parent != NULL) {
ERROR_OBJECT(object,object->parent,"object's parent is already set, must unparent first");
GST_ERROR_OBJECT(object,object->parent,"object's parent is already set, must unparent first");
return;
}

View file

@ -302,10 +302,10 @@ gst_pad_set_get_function (GstPad *pad,
g_return_if_fail (GST_IS_PAD (pad));
// the if and such should optimize out when DEBUG is off
DEBUG("setting get function for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting get function for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->getfunc = get;
DEBUG("getfunc for %s:%s(@%p) at %p is set to %p\n",GST_DEBUG_PAD_NAME(pad),pad,&pad->getfunc,get);
GST_DEBUG (0,"getfunc for %s:%s(@%p) at %p is set to %p\n",GST_DEBUG_PAD_NAME(pad),pad,&pad->getfunc,get);
}
/**
@ -322,7 +322,7 @@ gst_pad_set_getregion_function (GstPad *pad,
g_return_if_fail (pad != NULL);
g_return_if_fail (GST_IS_PAD (pad));
DEBUG("gstpad: pad setting getregion function\n");
GST_DEBUG (0,"gstpad: pad setting getregion function\n");
pad->getregionfunc = getregion;
}
@ -367,10 +367,10 @@ static void
gst_pad_push_func(GstPad *pad, GstBuffer *buf)
{
if (pad->peer->chainfunc != NULL) {
DEBUG("calling chain function\n");
GST_DEBUG (0,"calling chain function\n");
(pad->peer->chainfunc)(pad,buf);
} else {
DEBUG("got a problem here: default pad_push handler in place, no chain function\n");
GST_DEBUG (0,"got a problem here: default pad_push handler in place, no chain function\n");
}
}
@ -408,7 +408,7 @@ gst_pad_handle_qos(GstPad *pad,
GList *pads;
GstPad *target_pad;
DEBUG("gst_pad_handle_qos(\"%s\",%08ld)\n", GST_ELEMENT(pad->parent)->name,qos_message);
GST_DEBUG (0,"gst_pad_handle_qos(\"%s\",%08ld)\n", GST_ELEMENT(pad->parent)->name,qos_message);
if (pad->qosfunc) {
(pad->qosfunc) (pad,qos_message);
@ -417,7 +417,7 @@ gst_pad_handle_qos(GstPad *pad,
element = GST_ELEMENT (pad->peer->parent);
pads = element->pads;
DEBUG("gst_pad_handle_qos recurse(\"%s\",%08ld)\n", element->name,qos_message);
GST_DEBUG (0,"gst_pad_handle_qos recurse(\"%s\",%08ld)\n", element->name,qos_message);
while (pads) {
target_pad = GST_PAD (pads->data);
if (target_pad->direction == GST_PAD_SINK) {
@ -495,7 +495,7 @@ gst_pad_connect (GstPad *srcpad,
GST_DEBUG_PAD_NAME (srcpad), GST_DEBUG_PAD_NAME (sinkpad));
}
else {
DEBUG ("gstpad: connecting compatible pads (%s:%s) and (%s:%s)\n",
GST_DEBUG (0,"gstpad: connecting compatible pads (%s:%s) and (%s:%s)\n",
GST_DEBUG_PAD_NAME (srcpad), GST_DEBUG_PAD_NAME (sinkpad));
}
@ -700,7 +700,7 @@ gst_pad_check_compatibility (GstPad *srcpad, GstPad *sinkpad)
}
}
else {
DEBUG ("gstpad: could not check capabilities of pads (%s:%s) and (%s:%s)\n",
GST_DEBUG (0,"gstpad: could not check capabilities of pads (%s:%s) and (%s:%s)\n",
GST_DEBUG_PAD_NAME (srcpad), GST_DEBUG_PAD_NAME (sinkpad));
return TRUE;
}
@ -844,26 +844,26 @@ gst_pad_ghost_save_thyself (GstPad *pad,
#ifndef gst_pad_push
void gst_pad_push(GstPad *pad,GstBuffer *buf) {
DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
if (pad->peer->pushfunc) {
DEBUG("calling pushfunc &%s of peer pad %s:%s\n",
GST_DEBUG (0,"calling pushfunc &%s of peer pad %s:%s\n",
GST_DEBUG_FUNCPTR_NAME(pad->peer->pushfunc),GST_DEBUG_PAD_NAME(pad->peer));
(pad->peer->pushfunc)(pad->peer,buf);
} else
DEBUG("no pushfunc\n");
GST_DEBUG (0,"no pushfunc\n");
}
#endif
#ifndef gst_pad_pull
GstBuffer *gst_pad_pull(GstPad *pad) {
GstPad *peer = pad->peer;
DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
if (peer->pullfunc) {
DEBUG("calling pullfunc &%s (@%p) of peer pad %s:%s\n",
GST_DEBUG (0,"calling pullfunc &%s (@%p) of peer pad %s:%s\n",
GST_DEBUG_FUNCPTR_NAME(peer->pullfunc),&peer->pullfunc,GST_DEBUG_PAD_NAME(peer));
return (peer->pullfunc)(peer);
} else {
DEBUG("no pullfunc for peer pad %s:%s at %p\n",GST_DEBUG_PAD_NAME(peer),&peer->pullfunc);
GST_DEBUG (0,"no pullfunc for peer pad %s:%s at %p\n",GST_DEBUG_PAD_NAME(peer),&peer->pullfunc);
return NULL;
}
}
@ -871,13 +871,13 @@ GstBuffer *gst_pad_pull(GstPad *pad) {
#ifndef gst_pad_pullregion
GstBuffer *gst_pad_pullregion(GstPad *pad,gulong offset,gulong size) {
DEBUG_ENTER("(%s:%s,%ld,%ld)",GST_DEBUG_PAD_NAME(pad),offset,size);
GST_DEBUG_ENTER("(%s:%s,%ld,%ld)",GST_DEBUG_PAD_NAME(pad),offset,size);
if (pad->peer->pullregionfunc) {
DEBUG("calling pullregionfunc &%s of peer pad %s:%s\n",
GST_DEBUG (0,"calling pullregionfunc &%s of peer pad %s:%s\n",
GST_DEBUG_FUNCPTR_NAME(pad->peer->pullregionfunc),GST_DEBUG_PAD_NAME(pad->peer));
return (pad->peer->pullregionfunc)(pad->peer,offset,size);
} else {
DEBUG("no pullregionfunc\n");
GST_DEBUG (0,"no pullregionfunc\n");
return NULL;
}
}
@ -1050,7 +1050,7 @@ gst_pad_eos_func(GstPad *pad)
g_return_val_if_fail (pad != NULL, FALSE);
g_return_val_if_fail (GST_IS_PAD(pad), FALSE);
INFO(GST_INFO_PADS,"attempting to set EOS on sink pad %s:%s",GST_DEBUG_PAD_NAME(pad));
GST_INFO (GST_CAT_PADS,"attempting to set EOS on sink pad %s:%s",GST_DEBUG_PAD_NAME(pad));
element = GST_ELEMENT(gst_pad_get_parent (pad));
// g_return_val_if_fail (element != NULL, FALSE);
@ -1069,7 +1069,7 @@ gst_pad_eos_func(GstPad *pad)
if (result == FALSE) return FALSE;
INFO(GST_INFO_PADS,"set EOS on sink pad %s:%s",GST_DEBUG_PAD_NAME(pad));
GST_INFO (GST_CAT_PADS,"set EOS on sink pad %s:%s",GST_DEBUG_PAD_NAME(pad));
GST_FLAG_SET (pad, GST_PAD_EOS);
return TRUE;
@ -1082,11 +1082,11 @@ gst_pad_set_eos(GstPad *pad)
g_return_val_if_fail (GST_IS_PAD(pad), FALSE);
g_return_val_if_fail (GST_PAD_CONNECTED(pad), FALSE);
INFO(GST_INFO_PADS,"attempting to set EOS on src pad %s:%s",GST_DEBUG_PAD_NAME(pad));
GST_INFO (GST_CAT_PADS,"attempting to set EOS on src pad %s:%s",GST_DEBUG_PAD_NAME(pad));
if (!gst_pad_eos(pad)) return FALSE;
INFO(GST_INFO_PADS,"set EOS on src pad %s:%s",GST_DEBUG_PAD_NAME(pad));
GST_INFO (GST_CAT_PADS,"set EOS on src pad %s:%s",GST_DEBUG_PAD_NAME(pad));
GST_FLAG_SET (pad, GST_PAD_EOS);
return TRUE;

View file

@ -125,14 +125,14 @@ gst_pipeline_new (guchar *name)
static void
gst_pipeline_prepare (GstPipeline *pipeline)
{
DEBUG("GstPipeline: preparing pipeline \"%s\" for playing\n",
GST_DEBUG (0,"GstPipeline: preparing pipeline \"%s\" for playing\n",
gst_element_get_name(GST_ELEMENT(pipeline)));
}
static void
gst_pipeline_have_type (GstElement *sink, GstElement *sink2, gpointer data)
{
DEBUG("GstPipeline: pipeline have type %p\n", (gboolean *)data);
GST_DEBUG (0,"GstPipeline: pipeline have type %p\n", (gboolean *)data);
*(gboolean *)data = TRUE;
}
@ -144,7 +144,7 @@ gst_pipeline_typefind (GstPipeline *pipeline, GstElement *element)
GstElement *typefind;
GstCaps *caps = NULL;
DEBUG("GstPipeline: typefind for element \"%s\" %p\n",
GST_DEBUG (0,"GstPipeline: typefind for element \"%s\" %p\n",
gst_element_get_name(element), &found);
typefind = gst_elementfactory_make ("typefind", "typefind");
@ -189,7 +189,7 @@ gst_pipeline_pads_autoplug_func (GstElement *src, GstPad *pad, GstElement *sink)
GList *sinkpads;
gboolean connected = FALSE;
DEBUG("gstpipeline: autoplug pad connect function for \"%s\" to \"%s\"\n",
GST_DEBUG (0,"gstpipeline: autoplug pad connect function for \"%s\" to \"%s\"\n",
gst_element_get_name(src), gst_element_get_name(sink));
sinkpads = gst_element_get_pad_list(sink);
@ -202,9 +202,9 @@ gst_pipeline_pads_autoplug_func (GstElement *src, GstPad *pad, GstElement *sink)
{
if (gst_caps_list_check_compatibility (pad->caps, sinkpad->caps)) {
gst_pad_connect(pad, sinkpad);
DEBUG("gstpipeline: autoconnect pad \"%s\" in element %s <-> ", pad->name,
GST_DEBUG (0,"gstpipeline: autoconnect pad \"%s\" in element %s <-> ", pad->name,
gst_element_get_name(src));
DEBUG("pad \"%s\" in element %s\n", sinkpad->name,
GST_DEBUG (0,"pad \"%s\" in element %s\n", sinkpad->name,
gst_element_get_name(sink));
connected = TRUE;
break;
@ -214,7 +214,7 @@ gst_pipeline_pads_autoplug_func (GstElement *src, GstPad *pad, GstElement *sink)
}
if (!connected) {
DEBUG("gstpipeline: no path to sinks for type\n");
GST_DEBUG (0,"gstpipeline: no path to sinks for type\n");
}
return connected;
}
@ -237,7 +237,7 @@ gst_pipeline_pads_autoplug (GstElement *src, GstElement *sink)
}
if (!connected) {
DEBUG("gstpipeline: delaying pad connections for \"%s\" to \"%s\"\n",
GST_DEBUG (0,"gstpipeline: delaying pad connections for \"%s\" to \"%s\"\n",
gst_element_get_name(src), gst_element_get_name(sink));
gtk_signal_connect(GTK_OBJECT(src),"new_pad",
GTK_SIGNAL_FUNC(gst_pipeline_pads_autoplug_func), sink);
@ -315,28 +315,28 @@ gst_pipeline_autoplug (GstPipeline *pipeline)
g_return_val_if_fail(pipeline != NULL, FALSE);
g_return_val_if_fail(GST_IS_PIPELINE(pipeline), FALSE);
DEBUG("GstPipeline: autopluging pipeline \"%s\"\n",
GST_DEBUG (0,"GstPipeline: autopluging pipeline \"%s\"\n",
gst_element_get_name(GST_ELEMENT(pipeline)));
// fase 1, run typedetect on the source if needed...
if (!pipeline->src) {
DEBUG("GstPipeline: no source detected, can't autoplug pipeline \"%s\"\n",
GST_DEBUG (0,"GstPipeline: no source detected, can't autoplug pipeline \"%s\"\n",
gst_element_get_name(GST_ELEMENT(pipeline)));
return FALSE;
}
DEBUG("GstPipeline: source \"%s\" has no MIME type, running typefind...\n",
GST_DEBUG (0,"GstPipeline: source \"%s\" has no MIME type, running typefind...\n",
gst_element_get_name(pipeline->src));
src_caps = gst_pipeline_typefind(pipeline, pipeline->src);
if (src_caps) {
DEBUG("GstPipeline: source \"%s\" type found %d\n", gst_element_get_name(pipeline->src),
GST_DEBUG (0,"GstPipeline: source \"%s\" type found %d\n", gst_element_get_name(pipeline->src),
src_caps->id);
}
else {
DEBUG("GstPipeline: source \"%s\" has no type\n", gst_element_get_name(pipeline->src));
GST_DEBUG (0,"GstPipeline: source \"%s\" has no type\n", gst_element_get_name(pipeline->src));
return FALSE;
}
@ -378,7 +378,7 @@ gst_pipeline_autoplug (GstPipeline *pipeline)
}
factory = (GstElementFactory *)(factories[0]->data);
DEBUG("common factory \"%s\"\n", factory->name);
GST_DEBUG (0,"common factory \"%s\"\n", factory->name);
element = gst_elementfactory_create(factory, factory->name);
gst_bin_add(GST_BIN(pipeline), element);
@ -412,7 +412,7 @@ differ:
if (factories[i]) {
factory = (GstElementFactory *)(factories[i]->data);
DEBUG("factory \"%s\"\n", factory->name);
GST_DEBUG (0,"factory \"%s\"\n", factory->name);
element = gst_elementfactory_create(factory, factory->name);
factories[i] = g_list_next(factories[i]);
}
@ -430,11 +430,11 @@ differ:
use_thread = FALSE;
DEBUG("sugest new thread for \"%s\" %08x\n", element->name, GST_FLAGS(element));
GST_DEBUG (0,"sugest new thread for \"%s\" %08x\n", element->name, GST_FLAGS(element));
// create a new queue and add to the previous bin
queue = gst_elementfactory_make("queue", g_strconcat("queue_", gst_element_get_name(element), NULL));
DEBUG("adding element \"%s\"\n", element->name);
GST_DEBUG (0,"adding element \"%s\"\n", element->name);
gst_bin_add(GST_BIN(thebin), queue);
// this will be the new bin for all following elements
@ -460,15 +460,15 @@ differ:
}
gst_pipeline_pads_autoplug(thesrcelement, queue);
DEBUG("adding element %s\n", gst_element_get_name (element));
GST_DEBUG (0,"adding element %s\n", gst_element_get_name (element));
gst_bin_add(GST_BIN(thebin), element);
DEBUG("adding element %s\n", gst_element_get_name (thebin));
GST_DEBUG (0,"adding element %s\n", gst_element_get_name (thebin));
gst_bin_add(GST_BIN(pipeline), thebin);
thesrcelement = queue;
}
// no thread needed, easy case
else {
DEBUG("adding element %s\n", gst_element_get_name (element));
GST_DEBUG (0,"adding element %s\n", gst_element_get_name (element));
gst_bin_add(GST_BIN(thebin), element);
}
gst_pipeline_pads_autoplug(thesrcelement, element);
@ -482,7 +482,7 @@ next:
}
return TRUE;
DEBUG("GstPipeline: unable to autoplug pipeline \"%s\"\n",
GST_DEBUG (0,"GstPipeline: unable to autoplug pipeline \"%s\"\n",
gst_element_get_name(GST_ELEMENT(pipeline)));
return FALSE;
}

View file

@ -143,7 +143,7 @@ gst_plugin_load_all(void)
gst_plugin_load_recurse(path->data,NULL);
path = g_list_next(path);
}
INFO(GST_INFO_PLUGIN_LOADING,"loaded %d plugins with %d elements and %d types",
GST_INFO (GST_CAT_PLUGIN_LOADING,"loaded %d plugins with %d elements and %d types",
_gst_plugins_seqno,_gst_plugin_elementfactories,_gst_plugin_types);
}
@ -264,7 +264,7 @@ gst_plugin_load_absolute (gchar *name)
if (module != NULL) {
if (g_module_symbol(module,"plugin_init",(gpointer *)&initfunc)) {
if ((plugin = (initfunc)(module))) {
INFO(GST_INFO_PLUGIN_LOADING,"plugin \"%s\" loaded: %d elements, %d types",
GST_INFO (GST_CAT_PLUGIN_LOADING,"plugin \"%s\" loaded: %d elements, %d types",
plugin->name,plugin->numelements,plugin->numtypes);
plugin->filename = g_strdup(name);
plugin->loaded = TRUE;
@ -420,10 +420,10 @@ gst_plugin_load_elementfactory (gchar *name)
gchar *filename = g_strdup (plugin->filename);
gchar *pluginname = g_strdup (plugin->name);
INFO(GST_INFO_PLUGIN_LOADING,"loaded elementfactory %s from plugin %s",name,plugin->name);
GST_INFO (GST_CAT_PLUGIN_LOADING,"loaded elementfactory %s from plugin %s",name,plugin->name);
gst_plugin_remove(plugin);
if (!gst_plugin_load_absolute(filename)) {
DEBUG("gstplugin: error loading element factory %s from plugin %s\n", name, pluginname);
GST_DEBUG (0,"gstplugin: error loading element factory %s from plugin %s\n", name, pluginname);
}
g_free (pluginname);
g_free (filename);
@ -467,11 +467,11 @@ gst_plugin_load_typefactory (gchar *mime)
gchar *filename = g_strdup (plugin->filename);
gchar *pluginname = g_strdup (plugin->name);
INFO(GST_INFO_PLUGIN_LOADING,"loading type factory for \"%s\" from plugin %s",mime,plugin->name);
GST_INFO (GST_CAT_PLUGIN_LOADING,"loading type factory for \"%s\" from plugin %s",mime,plugin->name);
plugin->loaded = TRUE;
gst_plugin_remove(plugin);
if (!gst_plugin_load_absolute(filename)) {
DEBUG("gstplugin: error loading type factory \"%s\" from plugin %s\n", mime, pluginname);
GST_DEBUG (0,"gstplugin: error loading type factory \"%s\" from plugin %s\n", mime, pluginname);
}
g_free (filename);
g_free (pluginname);
@ -644,6 +644,6 @@ gst_plugin_load_thyself (xmlNodePtr parent)
kinderen = kinderen->next;
}
INFO(GST_INFO_PLUGIN_LOADING,"added %d registered factories and %d types",elementcount,typecount);
GST_INFO (GST_CAT_PLUGIN_LOADING,"added %d registered factories and %d types",elementcount,typecount);
}

View file

@ -216,7 +216,7 @@ gst_props_new (GstPropsFactoryEntry entry, ...)
GstProps *props;
#define add_value(value) {\
DEBUG ("%d %p\n", i, value);\
GST_DEBUG (0,"%d %p\n", i, value);\
factory[i++] = value; \
if (i >= size) { \
size += 16; \
@ -325,7 +325,7 @@ gst_props_entry_check_list_compatibility (GstPropsEntry *entry1, GstPropsEntry *
static gboolean
gst_props_entry_check_compatibility (GstPropsEntry *entry1, GstPropsEntry *entry2)
{
DEBUG ("compare: %s %s\n", g_quark_to_string (entry1->propid),
GST_DEBUG (0,"compare: %s %s\n", g_quark_to_string (entry1->propid),
g_quark_to_string (entry2->propid));
switch (entry1->propstype) {
case GST_PROPS_LIST_ID_NUM:
@ -432,14 +432,14 @@ gst_props_check_compatibility (GstProps *fromprops, GstProps *toprops)
entry2 = (GstPropsEntry *)sinklist->data;
while (entry1->propid < entry2->propid) {
DEBUG ("source is more specific in \"%s\"\n", g_quark_to_string (entry1->propid));
GST_DEBUG (0,"source is more specific in \"%s\"\n", g_quark_to_string (entry1->propid));
more++;
sourcelist = g_slist_next (sourcelist);
if (sourcelist) entry1 = (GstPropsEntry *)sourcelist->data;
else goto end;
}
while (entry1->propid > entry2->propid) {
DEBUG ("source has missing property \"%s\"\n", g_quark_to_string (entry2->propid));
GST_DEBUG (0,"source has missing property \"%s\"\n", g_quark_to_string (entry2->propid));
missing++;
sinklist = g_slist_next (sinklist);
if (sinklist) entry2 = (GstPropsEntry *)sinklist->data;
@ -455,7 +455,7 @@ gst_props_check_compatibility (GstProps *fromprops, GstProps *toprops)
GstPropsEntry *entry2;
entry2 = (GstPropsEntry *)sinklist->data;
missing++;
DEBUG ("source has missing property \"%s\"\n", g_quark_to_string (entry2->propid));
GST_DEBUG (0,"source has missing property \"%s\"\n", g_quark_to_string (entry2->propid));
}
end:

View file

@ -32,17 +32,17 @@ gst_bin_loopfunc_wrapper (int argc,char *argv[])
GstElement *element = GST_ELEMENT (argv);
G_GNUC_UNUSED const gchar *name = gst_element_get_name (element);
DEBUG_ENTER("(%d,'%s')",argc,name);
GST_DEBUG_ENTER("(%d,'%s')",argc,name);
do {
DEBUG("calling loopfunc %s for element %s\n",
GST_DEBUG (0,"calling loopfunc %s for element %s\n",
GST_DEBUG_FUNCPTR_NAME (element->loopfunc),name);
(element->loopfunc) (element);
DEBUG("element %s ended loop function\n", name);
GST_DEBUG (0,"element %s ended loop function\n", name);
} while (!GST_ELEMENT_IS_COTHREAD_STOPPING(element));
GST_FLAG_UNSET(element,GST_ELEMENT_COTHREAD_STOPPING);
DEBUG_LEAVE("(%d,'%s')",argc,name);
GST_DEBUG_LEAVE("(%d,'%s')",argc,name);
return 0;
}
@ -55,25 +55,25 @@ gst_bin_chain_wrapper (int argc,char *argv[])
GstPad *pad;
GstBuffer *buf;
DEBUG_ENTER("(\"%s\")",name);
DEBUG("stepping through pads\n");
GST_DEBUG_ENTER("(\"%s\")",name);
GST_DEBUG (0,"stepping through pads\n");
do {
pads = element->pads;
while (pads) {
pad = GST_PAD (pads->data);
pads = g_list_next (pads);
if (pad->direction == GST_PAD_SINK) {
DEBUG("pulling a buffer from %s:%s\n", name, gst_pad_get_name (pad));
GST_DEBUG (0,"pulling a buffer from %s:%s\n", name, gst_pad_get_name (pad));
buf = gst_pad_pull (pad);
DEBUG("calling chain function of %s:%s\n", name, gst_pad_get_name (pad));
GST_DEBUG (0,"calling chain function of %s:%s\n", name, gst_pad_get_name (pad));
(pad->chainfunc) (pad,buf);
DEBUG("calling chain function of %s:%s done\n", name, gst_pad_get_name (pad));
GST_DEBUG (0,"calling chain function of %s:%s done\n", name, gst_pad_get_name (pad));
}
}
} while (!GST_ELEMENT_IS_COTHREAD_STOPPING(element));
GST_FLAG_UNSET(element,GST_ELEMENT_COTHREAD_STOPPING);
DEBUG_LEAVE("(%d,'%s')",argc,name);
GST_DEBUG_LEAVE("(%d,'%s')",argc,name);
return 0;
}
@ -86,7 +86,7 @@ gst_bin_src_wrapper (int argc,char *argv[])
GstBuffer *buf;
G_GNUC_UNUSED const gchar *name = gst_element_get_name (element);
DEBUG_ENTER("(%d,\"%s\")",argc,name);
GST_DEBUG_ENTER("(%d,\"%s\")",argc,name);
do {
pads = element->pads;
@ -94,7 +94,7 @@ gst_bin_src_wrapper (int argc,char *argv[])
pad = GST_PAD (pads->data);
if (pad->direction == GST_PAD_SRC) {
// region_struct *region = cothread_get_data (element->threadstate, "region");
DEBUG("calling _getfunc for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"calling _getfunc for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
// if (region) {
//gst_src_push_region (GST_SRC (element), region->offset, region->size);
// if (pad->getregionfunc == NULL)
@ -106,7 +106,7 @@ gst_bin_src_wrapper (int argc,char *argv[])
buf = (pad->getfunc)(pad);
// }
DEBUG("calling gst_pad_push on pad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"calling gst_pad_push on pad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
gst_pad_push (pad, buf);
}
pads = g_list_next(pads);
@ -114,7 +114,7 @@ gst_bin_src_wrapper (int argc,char *argv[])
} while (!GST_ELEMENT_IS_COTHREAD_STOPPING(element));
GST_FLAG_UNSET(element,GST_ELEMENT_COTHREAD_STOPPING);
DEBUG_LEAVE("");
GST_DEBUG_LEAVE("");
return 0;
}
@ -122,12 +122,12 @@ static void
gst_bin_pushfunc_proxy (GstPad *pad, GstBuffer *buf)
{
cothread_state *threadstate = GST_ELEMENT(pad->parent)->threadstate;
DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
DEBUG("putting buffer %p in peer's pen\n",buf);
GST_DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"putting buffer %p in peer's pen\n",buf);
pad->peer->bufpen = buf;
DEBUG("switching to %p (@%p)\n",threadstate,&(GST_ELEMENT(pad->parent)->threadstate));
GST_DEBUG (0,"switching to %p (@%p)\n",threadstate,&(GST_ELEMENT(pad->parent)->threadstate));
cothread_switch (threadstate);
DEBUG("done switching\n");
GST_DEBUG (0,"done switching\n");
}
static GstBuffer*
@ -136,12 +136,12 @@ gst_bin_pullfunc_proxy (GstPad *pad)
GstBuffer *buf;
cothread_state *threadstate = GST_ELEMENT(pad->parent)->threadstate;
DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
if (pad->bufpen == NULL) {
DEBUG("switching to %p (@%p)\n",threadstate,&(GST_ELEMENT(pad->parent)->threadstate));
GST_DEBUG (0,"switching to %p (@%p)\n",threadstate,&(GST_ELEMENT(pad->parent)->threadstate));
cothread_switch (threadstate);
}
DEBUG("done switching\n");
GST_DEBUG (0,"done switching\n");
buf = pad->bufpen;
pad->bufpen = NULL;
return buf;
@ -164,7 +164,7 @@ gst_bin_pullregionfunc_proxy (GstPad *pad,
// region_struct region;
cothread_state *threadstate;
DEBUG_ENTER("%s:%s,%ld,%ld",GST_DEBUG_PAD_NAME(pad),offset,size);
GST_DEBUG_ENTER("%s:%s,%ld,%ld",GST_DEBUG_PAD_NAME(pad),offset,size);
// region.offset = offset;
// region.size = size;
@ -184,11 +184,11 @@ gst_schedule_cothreaded_chain (GstBin *bin, _GstBinChain *chain) {
GList *pads;
GstPad *pad;
DEBUG("chain is using cothreads\n");
GST_DEBUG (0,"chain is using cothreads\n");
// first create thread context
if (bin->threadcontext == NULL) {
DEBUG("initializing cothread context\n");
GST_DEBUG (0,"initializing cothread context\n");
bin->threadcontext = cothread_init ();
}
@ -204,7 +204,7 @@ gst_schedule_cothreaded_chain (GstBin *bin, _GstBinChain *chain) {
// if the element has a loopfunc...
if (element->loopfunc != NULL) {
wrapper_function = GST_DEBUG_FUNCPTR(gst_bin_loopfunc_wrapper);
DEBUG("\nelement '%s' is a loop-based\n",gst_element_get_name(element));
GST_DEBUG (0,"\nelement '%s' is a loop-based\n",gst_element_get_name(element));
} else {
// otherwise we need to decide what kind of cothread
// if it's not DECOUPLED, we decide based on whether it's a source or not
@ -212,10 +212,10 @@ gst_schedule_cothreaded_chain (GstBin *bin, _GstBinChain *chain) {
// if it doesn't have any sinks, it must be a source (duh)
if (element->numsinkpads == 0) {
wrapper_function = GST_DEBUG_FUNCPTR(gst_bin_src_wrapper);
DEBUG("\nelement '%s' is a source, using _src_wrapper\n",gst_element_get_name(element));
GST_DEBUG (0,"\nelement '%s' is a source, using _src_wrapper\n",gst_element_get_name(element));
} else {
wrapper_function = GST_DEBUG_FUNCPTR(gst_bin_chain_wrapper);
DEBUG("\nelement '%s' is a filter, using _chain_wrapper\n",gst_element_get_name(element));
GST_DEBUG (0,"\nelement '%s' is a filter, using _chain_wrapper\n",gst_element_get_name(element));
}
}
}
@ -231,10 +231,10 @@ gst_schedule_cothreaded_chain (GstBin *bin, _GstBinChain *chain) {
(GST_ELEMENT(pad->peer->parent)->manager != GST_ELEMENT(bin))) {
// set the chain proxies
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("copying chain function into push proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying chain function into push proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = pad->chainfunc;
} else {
DEBUG("copying get function into pull proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying get function into pull proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pullfunc = pad->getfunc;
pad->pullregionfunc = pad->getregionfunc;
}
@ -242,10 +242,10 @@ gst_schedule_cothreaded_chain (GstBin *bin, _GstBinChain *chain) {
// otherwise we really are a cothread
} else {
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("setting cothreaded push proxy for sinkpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting cothreaded push proxy for sinkpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = GST_DEBUG_FUNCPTR(gst_bin_pushfunc_proxy);
} else {
DEBUG("setting cothreaded pull proxy for srcpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting cothreaded pull proxy for srcpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pullfunc = GST_DEBUG_FUNCPTR(gst_bin_pullfunc_proxy);
}
}
@ -255,10 +255,10 @@ gst_schedule_cothreaded_chain (GstBin *bin, _GstBinChain *chain) {
if (wrapper_function != NULL) {
if (element->threadstate == NULL) {
element->threadstate = cothread_create (bin->threadcontext);
DEBUG("created cothread %p for '%s'\n",element->threadstate,gst_element_get_name(element));
GST_DEBUG (0,"created cothread %p for '%s'\n",element->threadstate,gst_element_get_name(element));
}
cothread_setfunc (element->threadstate, wrapper_function, 0, (char **)element);
DEBUG("set wrapper function for '%s' to &%s\n",gst_element_get_name(element),
GST_DEBUG (0,"set wrapper function for '%s' to &%s\n",gst_element_get_name(element),
GST_DEBUG_FUNCPTR_NAME(wrapper_function));
}
}
@ -271,7 +271,7 @@ gst_schedule_chained_chain (GstBin *bin, _GstBinChain *chain) {
GList *pads;
GstPad *pad;
DEBUG("chain entered\n");
GST_DEBUG (0,"chain entered\n");
// walk through all the elements
elements = chain->elements;
while (elements) {
@ -285,10 +285,10 @@ gst_schedule_chained_chain (GstBin *bin, _GstBinChain *chain) {
pads = g_list_next (pads);
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("copying chain function into push proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying chain function into push proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = pad->chainfunc;
} else {
DEBUG("copying get function into pull proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying get function into pull proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pullfunc = pad->getfunc;
pad->pullregionfunc = pad->getregionfunc;
}
@ -328,13 +328,13 @@ void gst_bin_schedule_func(GstBin *bin) {
GList *chains;
_GstBinChain *chain;
DEBUG_SET_STRING("(\"%s\")",gst_element_get_name (GST_ELEMENT (bin)));
DEBUG_ENTER_STRING;
GST_DEBUG_SET_STRING("(\"%s\")",gst_element_get_name (GST_ELEMENT (bin)));
GST_DEBUG_ENTER_STRING;
gst_bin_schedule_cleanup(bin);
// next we have to find all the separate scheduling chains
DEBUG("\nattempting to find scheduling chains...\n");
GST_DEBUG (0,"\nattempting to find scheduling chains...\n");
// first make a copy of the managed_elements we can mess with
elements = g_list_copy (bin->managed_elements);
// we have to repeat until the list is empty to get all chains
@ -344,12 +344,12 @@ void gst_bin_schedule_func(GstBin *bin) {
// if this is a DECOUPLED element
if (GST_FLAG_IS_SET (element, GST_ELEMENT_DECOUPLED)) {
// skip this element entirely
DEBUG("skipping '%s' because it's decoupled\n",gst_element_get_name(element));
GST_DEBUG (0,"skipping '%s' because it's decoupled\n",gst_element_get_name(element));
elements = g_list_next (elements);
continue;
}
DEBUG("starting with element '%s'\n",gst_element_get_name(element));
GST_DEBUG (0,"starting with element '%s'\n",gst_element_get_name(element));
// prime the pending list with the first element off the top
pending = g_slist_prepend (NULL, element);
@ -366,7 +366,7 @@ void gst_bin_schedule_func(GstBin *bin) {
pending = g_slist_remove (pending, element);
// add ourselves to the chain's list of elements
DEBUG("adding '%s' to chain\n",gst_element_get_name(element));
GST_DEBUG (0,"adding '%s' to chain\n",gst_element_get_name(element));
chain->elements = g_list_prepend (chain->elements, element);
chain->num_elements++;
// set the cothreads flag as appropriate
@ -380,13 +380,13 @@ void gst_bin_schedule_func(GstBin *bin) {
if ((element->manager == GST_ELEMENT(bin)) &&
!GST_FLAG_IS_SET (element, GST_ELEMENT_DECOUPLED)) {
// remove ourselves from the outer list of all managed elements
// DEBUG("removing '%s' from list of possible elements\n",gst_element_get_name(element));
// GST_DEBUG (0,"removing '%s' from list of possible elements\n",gst_element_get_name(element));
elements = g_list_remove (elements, element);
// if this element is a source, add it as an entry
if (element->numsinkpads == 0) {
chain->entries = g_list_prepend (chain->entries, element);
DEBUG("added '%s' as SRC entry into the chain\n",gst_element_get_name(element));
GST_DEBUG (0,"added '%s' as SRC entry into the chain\n",gst_element_get_name(element));
}
// now we have to walk the pads to find peers
@ -394,51 +394,51 @@ void gst_bin_schedule_func(GstBin *bin) {
while (pads) {
pad = GST_PAD (pads->data);
pads = g_list_next (pads);
DEBUG("have pad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"have pad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
if (pad->peer == NULL) ERROR(pad,"peer is null!");
if (pad->peer == NULL) GST_ERROR(pad,"peer is null!");
g_assert(pad->peer != NULL);
g_assert(pad->peer->parent != NULL);
//g_assert(GST_ELEMENT(pad->peer->parent)->manager != NULL);
DEBUG("peer pad %p\n", pad->peer);
GST_DEBUG (0,"peer pad %p\n", pad->peer);
// only bother with if the pad's peer's parent is this bin or it's DECOUPLED
// only add it if it's in the list of un-visited elements still
if ((g_list_find (elements, pad->peer->parent) != NULL) ||
GST_FLAG_IS_SET (pad->peer->parent, GST_ELEMENT_DECOUPLED)) {
// add the peer element to the pending list
DEBUG("adding '%s' to list of pending elements\n",gst_element_get_name(GST_ELEMENT(pad->peer->parent)));
GST_DEBUG (0,"adding '%s' to list of pending elements\n",gst_element_get_name(GST_ELEMENT(pad->peer->parent)));
pending = g_slist_prepend (pending, GST_ELEMENT(pad->peer->parent));
// if this is a sink pad, then the element on the other side is an entry
if ((gst_pad_get_direction (pad) == GST_PAD_SINK) &&
(GST_FLAG_IS_SET (pad->peer->parent, GST_ELEMENT_DECOUPLED))) {
chain->entries = g_list_prepend (chain->entries, pad->peer->parent);
DEBUG("added '%s' as DECOUPLED entry into the chain\n",gst_element_get_name(GST_ELEMENT(pad->peer->parent)));
GST_DEBUG (0,"added '%s' as DECOUPLED entry into the chain\n",gst_element_get_name(GST_ELEMENT(pad->peer->parent)));
}
} else
DEBUG("element '%s' has already been dealt with\n",gst_element_get_name(GST_ELEMENT(pad->peer->parent)));
GST_DEBUG (0,"element '%s' has already been dealt with\n",gst_element_get_name(GST_ELEMENT(pad->peer->parent)));
}
}
} while (pending);
// add the chain to the bin
DEBUG("have chain with %d elements: ",chain->num_elements);
GST_DEBUG (0,"have chain with %d elements: ",chain->num_elements);
{ GList *elements = chain->elements;
while (elements) {
element = GST_ELEMENT (elements->data);
elements = g_list_next(elements);
DEBUG_NOPREFIX("%s, ",gst_element_get_name(element));
GST_DEBUG_NOPREFIX(0,"%s, ",gst_element_get_name(element));
}
}
DEBUG_NOPREFIX("\n");
GST_DEBUG_NOPREFIX(0,"\n");
bin->chains = g_list_prepend (bin->chains, chain);
bin->num_chains++;
}
// free up the list in case it's full of DECOUPLED elements
g_list_free (elements);
DEBUG("\nwe have %d chains to schedule\n",bin->num_chains);
GST_DEBUG (0,"\nwe have %d chains to schedule\n",bin->num_chains);
// now we have to go through all the chains and schedule them
chains = bin->chains;
@ -454,7 +454,7 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
}
}
DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
GST_DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
}
@ -472,11 +472,11 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
if ((GST_IS_SRC (outside) || GST_IS_CONNECTION (outside)) &&
(gst_object_get_parent (GST_OBJECT (outside)) != GST_OBJECT (bin))) {
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("dealing with outside source element %s\n",gst_element_get_name(outside));
// DEBUG("PUNT: copying pullfunc ptr from %s:%s to %s:%s (@ %p)\n",
GST_DEBUG (0,"dealing with outside source element %s\n",gst_element_get_name(outside));
// GST_DEBUG (0,"PUNT: copying pullfunc ptr from %s:%s to %s:%s (@ %p)\n",
//GST_DEBUG_PAD_NAME(pad->peer),GST_DEBUG_PAD_NAME(pad),&pad->pullfunc);
// pad->pullfunc = pad->peer->pullfunc;
// DEBUG("PUNT: setting pushfunc proxy to fake proxy on %s:%s\n",GST_DEBUG_PAD_NAME(pad->peer));
// GST_DEBUG (0,"PUNT: setting pushfunc proxy to fake proxy on %s:%s\n",GST_DEBUG_PAD_NAME(pad->peer));
// pad->peer->pushfunc = GST_DEBUG_FUNCPTR(gst_bin_pushfunc_fake_proxy);
pad->pullfunc = GST_DEBUG_FUNCPTR(gst_bin_pullfunc_proxy);
}
@ -489,7 +489,7 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
/*
} else if (GST_IS_SRC (element)) {
DEBUG("adding '%s' as entry point, because it's a source\n",gst_element_get_name (element));
GST_DEBUG (0,"adding '%s' as entry point, because it's a source\n",gst_element_get_name (element));
bin->entries = g_list_prepend (bin->entries,element);
bin->num_entries++;
cothread_setfunc(element->threadstate,gst_bin_src_wrapper,0,(char **)element);
@ -500,15 +500,15 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
pad = GST_PAD(pads->data);
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("setting push proxy for sinkpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting push proxy for sinkpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
// set the proxy functions
pad->pushfunc = GST_DEBUG_FUNCPTR(gst_bin_pushfunc_proxy);
DEBUG("pushfunc %p = gst_bin_pushfunc_proxy %p\n",&pad->pushfunc,gst_bin_pushfunc_proxy);
GST_DEBUG (0,"pushfunc %p = gst_bin_pushfunc_proxy %p\n",&pad->pushfunc,gst_bin_pushfunc_proxy);
} else if (gst_pad_get_direction (pad) == GST_PAD_SRC) {
DEBUG("setting pull proxies for srcpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting pull proxies for srcpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
// set the proxy functions
pad->pullfunc = GST_DEBUG_FUNCPTR(gst_bin_pullfunc_proxy);
DEBUG("pad->pullfunc(@%p) = gst_bin_pullfunc_proxy(@%p)\n",
GST_DEBUG (0,"pad->pullfunc(@%p) = gst_bin_pullfunc_proxy(@%p)\n",
&pad->pullfunc,gst_bin_pullfunc_proxy);
pad->pullregionfunc = GST_DEBUG_FUNCPTR(gst_bin_pullregionfunc_proxy);
}
@ -521,17 +521,17 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
bin->entries = g_list_prepend (bin->entries, GST_ELEMENT(bin->children->data));
}
} else {
DEBUG("don't need cothreads, looking for entry points\n");
GST_DEBUG (0,"don't need cothreads, looking for entry points\n");
// we have to find which elements will drive an iteration
elements = bin->children;
while (elements) {
element = GST_ELEMENT (elements->data);
DEBUG("found element \"%s\"\n", gst_element_get_name (element));
GST_DEBUG (0,"found element \"%s\"\n", gst_element_get_name (element));
if (GST_IS_BIN (element)) {
gst_bin_create_plan (GST_BIN (element));
}
if (GST_IS_SRC (element)) {
DEBUG("adding '%s' as entry point, because it's a source\n",gst_element_get_name (element));
GST_DEBUG (0,"adding '%s' as entry point, because it's a source\n",gst_element_get_name (element));
bin->entries = g_list_prepend (bin->entries, element);
bin->num_entries++;
}
@ -542,10 +542,10 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
pad = GST_PAD (pads->data);
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("found SINK pad %s:%s\n", GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"found SINK pad %s:%s\n", GST_DEBUG_PAD_NAME(pad));
// copy the peer's chain function, easy enough
DEBUG("copying peer's chainfunc to %s:%s's pushfunc\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying peer's chainfunc to %s:%s's pushfunc\n",GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = GST_DEBUG_FUNCPTR(pad->peer->chainfunc);
// need to walk through and check for outside connections
@ -553,7 +553,7 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
// get the pad's peer
peer = gst_pad_get_peer (pad);
if (!peer) {
DEBUG("found SINK pad %s has no peer\n", gst_pad_get_name (pad));
GST_DEBUG (0,"found SINK pad %s has no peer\n", gst_pad_get_name (pad));
break;
}
// get the parent of the peer of the pad
@ -571,7 +571,7 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
}
}
else {
DEBUG("found pad %s\n", gst_pad_get_name (pad));
GST_DEBUG (0,"found pad %s\n", gst_pad_get_name (pad));
}
pads = g_list_next (pads);
@ -587,11 +587,11 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
// If cothreads are needed, we need to not only find elements but
// set up cothread states and various proxy functions.
if (bin->need_cothreads) {
DEBUG("bin is using cothreads\n");
GST_DEBUG (0,"bin is using cothreads\n");
// first create thread context
if (bin->threadcontext == NULL) {
DEBUG("initializing cothread context\n");
GST_DEBUG (0,"initializing cothread context\n");
bin->threadcontext = cothread_init ();
}
@ -608,7 +608,7 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
// first of all, if there's a loopfunc, the decision's already made
if (element->loopfunc != NULL) {
wrapper_function = GST_DEBUG_FUNCPTR(gst_bin_loopfunc_wrapper);
DEBUG("element %s is a loopfunc, must use a cothread\n",gst_element_get_name(element));
GST_DEBUG (0,"element %s is a loopfunc, must use a cothread\n",gst_element_get_name(element));
} else {
// otherwise we need to decide if it needs a cothread
// if it's complex, or cothreads are preferred and it's *not* decoupled, cothread it
@ -633,29 +633,29 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
// check to see if someone else gets to set up the element
peer_manager = GST_ELEMENT((pad)->peer->parent)->manager;
if (peer_manager != GST_ELEMENT(bin)) {
DEBUG("WARNING: pad %s:%s is connected outside of bin\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"WARNING: pad %s:%s is connected outside of bin\n",GST_DEBUG_PAD_NAME(pad));
}
// if the wrapper_function is set, we need to use the proxy functions
if (wrapper_function != NULL) {
// set up proxy functions
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("setting push proxy for sinkpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting push proxy for sinkpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = GST_DEBUG_FUNCPTR(gst_bin_pushfunc_proxy);
} else if (gst_pad_get_direction (pad) == GST_PAD_SRC) {
DEBUG("setting pull proxy for srcpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"setting pull proxy for srcpad %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pullfunc = GST_DEBUG_FUNCPTR(gst_bin_pullfunc_proxy);
}
} else {
// otherwise we need to set up for 'traditional' chaining
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
// we can just copy the chain function, since it shares the prototype
DEBUG("copying chain function into push proxy for %s:%s\n",
GST_DEBUG (0,"copying chain function into push proxy for %s:%s\n",
GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = pad->chainfunc;
} else if (gst_pad_get_direction (pad) == GST_PAD_SRC) {
// we can just copy the get function, since it shares the prototype
DEBUG("copying get function into pull proxy for %s:%s\n",
GST_DEBUG (0,"copying get function into pull proxy for %s:%s\n",
GST_DEBUG_PAD_NAME(pad));
pad->pullfunc = pad->getfunc;
}
@ -666,11 +666,11 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
if (wrapper_function != NULL) {
if (element->threadstate == NULL) {
element->threadstate = cothread_create (bin->threadcontext);
DEBUG("created cothread %p (@%p) for \"%s\"\n",element->threadstate,
GST_DEBUG (0,"created cothread %p (@%p) for \"%s\"\n",element->threadstate,
&element->threadstate,gst_element_get_name(element));
}
cothread_setfunc (element->threadstate, wrapper_function, 0, (char **)element);
DEBUG("set wrapper function for \"%s\" to &%s\n",gst_element_get_name(element),
GST_DEBUG (0,"set wrapper function for \"%s\" to &%s\n",gst_element_get_name(element),
GST_DEBUG_FUNCPTR_NAME(wrapper_function));
}
@ -681,7 +681,7 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
// otherwise, cothreads are not needed
} else {
DEBUG("bin is chained, no cothreads needed\n");
GST_DEBUG (0,"bin is chained, no cothreads needed\n");
elements = bin->managed_elements;
while (elements) {
@ -694,10 +694,10 @@ if (pad->peer == NULL) ERROR(pad,"peer is null!");
pads = g_list_next (pads);
if (gst_pad_get_direction (pad) == GST_PAD_SINK) {
DEBUG("copying chain function into push proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying chain function into push proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pushfunc = pad->chainfunc;
} else {
DEBUG("copying get function into pull proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"copying get function into pull proxy for %s:%s\n",GST_DEBUG_PAD_NAME(pad));
pad->pullfunc = pad->getfunc;
}
}

View file

@ -123,7 +123,7 @@ gst_thread_class_init (GstThreadClass *klass)
static void
gst_thread_init (GstThread *thread)
{
DEBUG("initializing thread '%s'\n",gst_element_get_name(GST_ELEMENT(thread)));
GST_DEBUG (0,"initializing thread '%s'\n",gst_element_get_name(GST_ELEMENT(thread)));
// we're a manager by default
GST_FLAG_SET (thread, GST_BIN_FLAG_MANAGER);
@ -142,7 +142,7 @@ gst_thread_create_plan_dummy (GstBin *bin)
g_return_if_fail (GST_IS_THREAD (bin));
if (!GST_FLAG_IS_SET (GST_THREAD (bin), GST_THREAD_STATE_SPINNING))
INFO(GST_INFO_THREAD,"gstthread: create plan delayed until thread starts");
GST_INFO (GST_CAT_THREAD,"gstthread: create plan delayed until thread starts");
}
static void
@ -156,13 +156,13 @@ gst_thread_set_arg (GtkObject *object,
switch(id) {
case ARG_CREATE_THREAD:
if (GTK_VALUE_BOOL (*arg)) {
INFO(GST_INFO_THREAD,"gstthread: turning ON the creation of the thread");
GST_INFO (GST_CAT_THREAD,"gstthread: turning ON the creation of the thread");
GST_FLAG_SET (object, GST_THREAD_CREATE);
DEBUG("gstthread: flags are 0x%08x\n", GST_FLAGS (object));
GST_DEBUG (0,"gstthread: flags are 0x%08x\n", GST_FLAGS (object));
} else {
INFO(GST_INFO_THREAD,"gstthread: turning OFF the creation of the thread");
GST_INFO (GST_CAT_THREAD,"gstthread: turning OFF the creation of the thread");
GST_FLAG_UNSET (object, GST_THREAD_CREATE);
DEBUG("gstthread: flags are 0x%08x\n", GST_FLAGS (object));
GST_DEBUG (0,"gstthread: flags are 0x%08x\n", GST_FLAGS (object));
}
break;
default:
@ -212,11 +212,11 @@ gst_thread_change_state (GstElement *element)
gint pending, transition;
g_return_val_if_fail (GST_IS_THREAD(element), FALSE);
DEBUG_ENTER("(\"%s\")",gst_element_get_name(element));
GST_DEBUG_ENTER("(\"%s\")",gst_element_get_name(element));
thread = GST_THREAD (element);
INFO (GST_INFO_THREAD,"gstthread: thread \"%s\" change state %d",
GST_INFO (GST_CAT_THREAD,"gstthread: thread \"%s\" change state %d",
gst_element_get_name (GST_ELEMENT (element)),
GST_STATE_PENDING (element));
@ -230,23 +230,23 @@ gst_thread_change_state (GstElement *element)
if (GST_ELEMENT_CLASS (parent_class)->change_state)
stateset = GST_ELEMENT_CLASS (parent_class)->change_state (element);
INFO (GST_INFO_THREAD, "gstthread: stateset %d %d %d %02x", GST_STATE (element), stateset,
GST_INFO (GST_CAT_THREAD, "gstthread: stateset %d %d %d %02x", GST_STATE (element), stateset,
GST_STATE_PENDING (element), GST_STATE_TRANSITION (element));
switch (transition) {
case GST_STATE_NULL_TO_READY:
// if (!stateset) return FALSE;
// we want to prepare our internal state for doing the iterations
INFO(GST_INFO_THREAD, "gstthread: preparing thread \"%s\" for iterations:",
GST_INFO (GST_CAT_THREAD, "gstthread: preparing thread \"%s\" for iterations:",
gst_element_get_name (GST_ELEMENT (element)));
// set the state to idle
GST_FLAG_UNSET (thread, GST_THREAD_STATE_SPINNING);
// create the thread if that's what we're supposed to do
INFO(GST_INFO_THREAD, "gstthread: flags are 0x%08x", GST_FLAGS (thread));
GST_INFO (GST_CAT_THREAD, "gstthread: flags are 0x%08x", GST_FLAGS (thread));
if (GST_FLAG_IS_SET (thread, GST_THREAD_CREATE)) {
INFO(GST_INFO_THREAD, "gstthread: starting thread \"%s\"",
GST_INFO (GST_CAT_THREAD, "gstthread: starting thread \"%s\"",
gst_element_get_name (GST_ELEMENT (element)));
// create the thread
@ -256,28 +256,28 @@ gst_thread_change_state (GstElement *element)
// wait for it to 'spin up'
// gst_thread_wait_thread (thread);
} else {
INFO(GST_INFO_THREAD, "gstthread: NOT starting thread \"%s\"",
GST_INFO (GST_CAT_THREAD, "gstthread: NOT starting thread \"%s\"",
gst_element_get_name (GST_ELEMENT (element)));
}
break;
case GST_STATE_PAUSED_TO_PLAYING:
case GST_STATE_READY_TO_PLAYING:
if (!stateset) return FALSE;
INFO(GST_INFO_THREAD, "gstthread: starting thread \"%s\"",
GST_INFO (GST_CAT_THREAD, "gstthread: starting thread \"%s\"",
gst_element_get_name (GST_ELEMENT (element)));
GST_FLAG_SET (thread, GST_THREAD_STATE_SPINNING);
gst_thread_signal_thread (thread);
break;
case GST_STATE_PLAYING_TO_PAUSED:
INFO(GST_INFO_THREAD,"gstthread: pausing thread \"%s\"",
GST_INFO (GST_CAT_THREAD,"gstthread: pausing thread \"%s\"",
gst_element_get_name (GST_ELEMENT (element)));
//GST_FLAG_UNSET(thread,GST_THREAD_STATE_SPINNING);
gst_thread_signal_thread (thread);
break;
case GST_STATE_READY_TO_NULL:
INFO(GST_INFO_THREAD,"gstthread: stopping thread \"%s\"",
GST_INFO (GST_CAT_THREAD,"gstthread: stopping thread \"%s\"",
gst_element_get_name (GST_ELEMENT (element)));
GST_FLAG_SET (thread, GST_THREAD_STATE_REAPING);
@ -302,7 +302,7 @@ gst_thread_main_loop (void *arg)
{
GstThread *thread = GST_THREAD (arg);
INFO(GST_INFO_THREAD,"gstthread: thread \"%s\" is running with PID %d",
GST_INFO (GST_CAT_THREAD,"gstthread: thread \"%s\" is running with PID %d",
gst_element_get_name (GST_ELEMENT (thread)), getpid ());
// construct the plan and signal back
@ -321,7 +321,7 @@ gst_thread_main_loop (void *arg)
GST_FLAG_UNSET (thread, GST_THREAD_STATE_REAPING);
// pthread_join (thread->thread_id, 0);
INFO(GST_INFO_THREAD, "gstthread: thread \"%s\" is stopped",
GST_INFO (GST_CAT_THREAD, "gstthread: thread \"%s\" is stopped",
gst_element_get_name (GST_ELEMENT (thread)));
return NULL;
}
@ -329,7 +329,7 @@ gst_thread_main_loop (void *arg)
static void
gst_thread_signal_thread (GstThread *thread)
{
DEBUG("signaling thread\n");
GST_DEBUG (0,"signaling thread\n");
g_mutex_lock (thread->lock);
g_cond_signal (thread->cond);
g_mutex_unlock (thread->lock);
@ -338,7 +338,7 @@ gst_thread_signal_thread (GstThread *thread)
static void
gst_thread_wait_thread (GstThread *thread)
{
DEBUG("waiting for thread\n");
GST_DEBUG (0,"waiting for thread\n");
g_mutex_lock (thread->lock);
g_cond_wait (thread->cond, thread->lock);
g_mutex_unlock (thread->lock);
@ -350,7 +350,7 @@ gst_thread_restore_thyself (GstElement *element,
xmlNodePtr parent,
GHashTable *elements)
{
DEBUG("gstthread: restore\n");
GST_DEBUG (0,"gstthread: restore\n");
if (GST_ELEMENT_CLASS (parent_class)->restore_thyself)
GST_ELEMENT_CLASS (parent_class)->restore_thyself (element,parent, elements);

View file

@ -68,7 +68,7 @@ gst_type_register (GstTypeFactory *factory)
g_return_val_if_fail (factory != NULL, 0);
// INFO(GST_INFO_TYPES,"type register %s", factory->mime);
// GST_INFO (GST_CAT_TYPES,"type register %s", factory->mime);
id = gst_type_find_by_mime (factory->mime);
if (!id) {
@ -107,12 +107,12 @@ guint16 gst_type_find_by_mime_func (gchar *mime)
g_return_val_if_fail (mime != NULL, 0);
walk = _gst_types;
// DEBUG("searching for '%s'\n",mime);
// GST_DEBUG (0,"searching for '%s'\n",mime);
mimelen = strlen (mime);
while (walk) {
type = (GstType *)walk->data;
search = type->mime;
// DEBUG("checking against '%s'\n",search);
// GST_DEBUG (0,"checking against '%s'\n",search);
typelen = strlen (search);
while ((search - type->mime) < typelen) {
found = strstr (search, mime);
@ -231,7 +231,7 @@ gst_type_typefind_dummy (GstBuffer *buffer, gpointer priv)
guint16 typeid;
GSList *funcs;
DEBUG ("gsttype: need to load typefind function for %s\n", type->mime);
GST_DEBUG (0,"gsttype: need to load typefind function for %s\n", type->mime);
type->typefindfuncs = NULL;
gst_plugin_load_typefactory (type->mime);

View file

@ -179,7 +179,7 @@ gst_xml_get_element (GstXML *xml, const guchar *name)
g_return_val_if_fail(xml != NULL, NULL);
g_return_val_if_fail(name != NULL, NULL);
DEBUG ("gstxml: getting element \"%s\"\n", name);
GST_DEBUG (0,"gstxml: getting element \"%s\"\n", name);
element = g_hash_table_lookup(xml->elements, name);

View file

@ -244,7 +244,7 @@ gst_asyncdisksrc_get (GstPad *pad)
} else
GST_BUFFER_SIZE (buf) = src->bytes_per_read;
DEBUG ("map %p, offset %d, size %ld\n", src->map, src->curoffset, GST_BUFFER_SIZE (buf));
GST_DEBUG (0,"map %p, offset %d, size %ld\n", src->map, src->curoffset, GST_BUFFER_SIZE (buf));
//gst_util_dump_mem (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
@ -252,7 +252,7 @@ gst_asyncdisksrc_get (GstPad *pad)
if (src->new_seek) {
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLUSH);
DEBUG ("new seek\n");
GST_DEBUG (0,"new seek\n");
src->new_seek = FALSE;
}
@ -303,7 +303,7 @@ gst_asyncdisksrc_get_region (GstPad *pad, gulong offset, gulong size)
} else
GST_BUFFER_SIZE (buf) = size;
DEBUG ("map %p, offset %d, size %ld\n", src->map, offset, GST_BUFFER_SIZE (buf));
GST_DEBUG (0,"map %p, offset %d, size %ld\n", src->map, offset, GST_BUFFER_SIZE (buf));
/* we're done, return the buffer off now */
return buf;

View file

@ -247,7 +247,7 @@ gst_audiosink_chain (GstPad *pad, GstBuffer *buf)
// g_return_if_fail(GST_FLAG_IS_SET(audiosink,GST_STATE_RUNNING));
if ((in_flush = GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLUSH))) {
DEBUG ("audiosink: flush\n");
GST_DEBUG (0,"audiosink: flush\n");
ioctl (audiosink->fd, SNDCTL_DSP_RESET, 0);
}
@ -277,7 +277,7 @@ gst_audiosink_chain (GstPad *pad, GstBuffer *buf)
if (!audiosink->mute) {
gst_clock_wait (audiosink->clock, GST_BUFFER_TIMESTAMP (buf), GST_OBJECT (audiosink));
ioctl (audiosink->fd, SNDCTL_DSP_GETOSPACE, &ospace);
DEBUG ("audiosink: (%d bytes buffer) %d %p %d\n", ospace.bytes,
GST_DEBUG (0,"audiosink: (%d bytes buffer) %d %p %d\n", ospace.bytes,
audiosink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
write (audiosink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
//write(STDOUT_FILENO,GST_BUFFER_DATA(buf),GST_BUFFER_SIZE(buf));

View file

@ -273,7 +273,7 @@ gst_audiosrc_open_audio (GstAudioSrc *src)
/* set card state */
gst_audiosrc_sync_parms (src);
DEBUG("opened audio\n");
GST_DEBUG (0,"opened audio\n");
GST_FLAG_SET (src, GST_AUDIOSRC_OPEN);
return TRUE;

View file

@ -236,7 +236,7 @@ gst_disksrc_get (GstPad *pad)
/* if we didn't get as many bytes as we asked for, we're at EOF */
if (readbytes < src->bytes_per_read) {
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_EOS);
DEBUG("setting GST_BUFFER_EOS\n");
GST_DEBUG (0,"setting GST_BUFFER_EOS\n");
}
/* if we have a new buffer from a seek, mark it */
@ -249,9 +249,9 @@ gst_disksrc_get (GstPad *pad)
GST_BUFFER_SIZE (buf) = readbytes;
src->curoffset += readbytes;
DEBUG("pushing %d bytes with offset %d\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
GST_DEBUG (0,"pushing %d bytes with offset %d\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
/* we're done, push the buffer off now */
DEBUG("returning %d bytes with offset %d done\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
GST_DEBUG (0,"returning %d bytes with offset %d done\n", GST_BUFFER_SIZE(buf), GST_BUFFER_OFFSET (buf));
return buf;
}
@ -277,7 +277,7 @@ gst_disksrc_open_file (GstDiskSrc *src)
}
else {
src->size = f_stat.st_size;
DEBUG("gstdisksrc: file size %ld\n", src->size);
GST_DEBUG (0,"gstdisksrc: file size %ld\n", src->size);
}
GST_FLAG_SET (src, GST_DISKSRC_OPEN);
return TRUE;
@ -306,7 +306,7 @@ gst_disksrc_change_state (GstElement *element)
{
g_return_val_if_fail (GST_IS_DISKSRC (element), GST_STATE_FAILURE);
DEBUG("gstdisksrc: state pending %d\n", GST_STATE_PENDING (element));
GST_DEBUG (0,"gstdisksrc: state pending %d\n", GST_STATE_PENDING (element));
/* if going down into NULL state, close the file if it's open */
if (GST_STATE_PENDING (element) == GST_STATE_NULL) {

View file

@ -118,7 +118,7 @@ gst_fdsink_chain (GstPad *pad, GstBuffer *buf)
g_return_if_fail (fdsink->fd >= 0);
if (GST_BUFFER_DATA (buf)) {
DEBUG("writing %d bytes to file descriptor %d\n",GST_BUFFER_SIZE (buf), fdsink->fd);
GST_DEBUG (0,"writing %d bytes to file descriptor %d\n",GST_BUFFER_SIZE (buf), fdsink->fd);
write (fdsink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
}

View file

@ -139,12 +139,12 @@ static gboolean gst_pipefilter_read_and_push(GstPipefilter *pipefilter) {
g_return_val_if_fail(GST_BUFFER_DATA(newbuf) != NULL, FALSE);
/* read it in from the file */
DEBUG("attemting to read %ld bytes\n", pipefilter->bytes_per_read);
GST_DEBUG (0,"attemting to read %ld bytes\n", pipefilter->bytes_per_read);
readbytes = read(pipefilter->fdout[0],GST_BUFFER_DATA(newbuf),pipefilter->bytes_per_read);
DEBUG("read %ld bytes\n", readbytes);
GST_DEBUG (0,"read %ld bytes\n", readbytes);
if (readbytes < 0) {
if (errno == EAGAIN) {
DEBUG("no input yet\n");
GST_DEBUG (0,"no input yet\n");
gst_buffer_unref(newbuf);
return FALSE;
}
@ -186,9 +186,9 @@ void gst_pipefilter_chain(GstPad *pad,GstBuffer *buf) {
data = GST_BUFFER_DATA(buf);
size = GST_BUFFER_SIZE(buf);
DEBUG("attemting to write %ld bytes\n", size);
GST_DEBUG (0,"attemting to write %ld bytes\n", size);
writebytes = write(pipefilter->fdin[1],data,size);
DEBUG("written %ld bytes\n", writebytes);
GST_DEBUG (0,"written %ld bytes\n", writebytes);
if (writebytes < 0) {
perror("write");
gst_element_error(GST_ELEMENT(pipefilter),"writing");

View file

@ -149,7 +149,7 @@ gst_queue_init (GstQueue *queue)
static void
gst_queue_cleanup_buffers (gpointer data, const gpointer user_data)
{
DEBUG("queue: %s cleaning buffer %p\n", (gchar *)user_data, data);
GST_DEBUG (0,"queue: %s cleaning buffer %p\n", (gchar *)user_data, data);
gst_buffer_unref (GST_BUFFER (data));
}
@ -181,19 +181,19 @@ gst_queue_chain (GstPad *pad, GstBuffer *buf)
/* we have to lock the queue since we span threads */
DEBUG("queue: try have queue lock\n");
GST_DEBUG (0,"queue: try have queue lock\n");
GST_LOCK (queue);
DEBUG("queue: %s adding buffer %p %ld\n", name, buf, pthread_self ());
DEBUG("queue: have queue lock\n");
GST_DEBUG (0,"queue: %s adding buffer %p %ld\n", name, buf, pthread_self ());
GST_DEBUG (0,"queue: have queue lock\n");
if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLUSH)) {
gst_queue_flush (queue);
}
DEBUG("queue: %s: chain %d %p\n", name, queue->level_buffers, buf);
GST_DEBUG (0,"queue: %s: chain %d %p\n", name, queue->level_buffers, buf);
while (queue->level_buffers >= queue->max_buffers) {
DEBUG("queue: %s waiting %d\n", name, queue->level_buffers);
GST_DEBUG (0,"queue: %s waiting %d\n", name, queue->level_buffers);
STATUS("%s: O\n");
GST_UNLOCK (queue);
g_mutex_lock (queue->fulllock);
@ -201,20 +201,20 @@ gst_queue_chain (GstPad *pad, GstBuffer *buf)
g_mutex_unlock (queue->fulllock);
GST_LOCK (queue);
STATUS("%s: O+\n");
DEBUG("queue: %s waiting done %d\n", name, queue->level_buffers);
GST_DEBUG (0,"queue: %s waiting done %d\n", name, queue->level_buffers);
}
/* put the buffer on the tail of the list */
queue->queue = g_slist_append (queue->queue, buf);
// STATUS("%s: +\n");
DEBUG("(%s:%s)+ ",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"(%s:%s)+ ",GST_DEBUG_PAD_NAME(pad));
/* if we were empty, but aren't any more, signal a condition */
tosignal = (queue->level_buffers >= 0);
queue->level_buffers++;
/* we can unlock now */
DEBUG("queue: %s chain %d end signal(%d,%p)\n", name, queue->level_buffers, tosignal, queue->emptycond);
GST_DEBUG (0,"queue: %s chain %d end signal(%d,%p)\n", name, queue->level_buffers, tosignal, queue->emptycond);
GST_UNLOCK (queue);
if (tosignal) {
@ -238,10 +238,10 @@ gst_queue_get (GstPad *pad)
name = gst_element_get_name (GST_ELEMENT (queue));
/* have to lock for thread-safety */
DEBUG("queue: %s try have queue lock\n", name);
GST_DEBUG (0,"queue: %s try have queue lock\n", name);
GST_LOCK (queue);
DEBUG("queue: %s push %d %ld %p\n", name, queue->level_buffers, pthread_self (), queue->emptycond);
DEBUG("queue: %s have queue lock\n", name);
GST_DEBUG (0,"queue: %s push %d %ld %p\n", name, queue->level_buffers, pthread_self (), queue->emptycond);
GST_DEBUG (0,"queue: %s have queue lock\n", name);
// we bail if there's nothing there
if (!queue->level_buffers && !queue->block) {
@ -261,13 +261,13 @@ gst_queue_get (GstPad *pad)
front = queue->queue;
buf = (GstBuffer *)(front->data);
DEBUG("retrieved buffer %p from queue\n",buf);
GST_DEBUG (0,"retrieved buffer %p from queue\n",buf);
queue->queue = g_slist_remove_link (queue->queue, front);
g_slist_free (front);
queue->level_buffers--;
// STATUS("%s: -\n");
DEBUG("(%s:%s)- ",GST_DEBUG_PAD_NAME(pad));
GST_DEBUG (0,"(%s:%s)- ",GST_DEBUG_PAD_NAME(pad));
tosignal = queue->level_buffers < queue->max_buffers;
GST_UNLOCK(queue);
@ -279,9 +279,9 @@ gst_queue_get (GstPad *pad)
g_mutex_unlock (queue->fulllock);
}
// DEBUG("queue: %s pushing %d %p \n", name, queue->level_buffers, buf);
// GST_DEBUG (0,"queue: %s pushing %d %p \n", name, queue->level_buffers, buf);
// gst_pad_push (queue->srcpad, buf);
// DEBUG("queue: %s pushing %d done \n", name, queue->level_buffers);
// GST_DEBUG (0,"queue: %s pushing %d done \n", name, queue->level_buffers);
return buf;
/* unlock now */
@ -294,7 +294,7 @@ gst_queue_change_state (GstElement *element)
g_return_val_if_fail (GST_IS_QUEUE (element), GST_STATE_FAILURE);
queue = GST_QUEUE (element);
DEBUG("gstqueue: state pending %d\n", GST_STATE_PENDING (element));
GST_DEBUG (0,"gstqueue: state pending %d\n", GST_STATE_PENDING (element));
/* if going down into NULL state, clear out buffers*/
if (GST_STATE_PENDING (element) == GST_STATE_READY) {

View file

@ -26,6 +26,7 @@
#include <sys/soundcard.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <gstsinesrc.h>