diff options
author | Benjamin Otte <otte@gnome.org> | 2003-10-12 17:03:59 +0000 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2003-10-12 17:03:59 +0000 |
commit | c52b0471877357f1d1eefb83da2f2ff21a0e22ce (patch) | |
tree | 1ff1d7744f4a4a33d7d859f883b65903d7505a4e | |
parent | 255b042ee54b58551204ad11bd00f1ac8c6b9957 (diff) | |
download | gstreamer-plugins-base-c52b0471877357f1d1eefb83da2f2ff21a0e22ce.tar.gz |
update alsa to the new debugging system
Original commit message from CVS:
update alsa to the new debugging system
-rw-r--r-- | ext/alsa/gstalsa.c | 71 |
1 files changed, 38 insertions, 33 deletions
diff --git a/ext/alsa/gstalsa.c b/ext/alsa/gstalsa.c index dc14ed572..28e7987ce 100644 --- a/ext/alsa/gstalsa.c +++ b/ext/alsa/gstalsa.c @@ -25,6 +25,9 @@ #include <sys/time.h> #include "gstalsa.h" +GST_DEBUG_CATEGORY_STATIC (alsa_debug); +#define GST_CAT_DEFAULT alsa_debug + /* error checking for standard alsa functions */ #define SIMPLE_ERROR_CHECK(value) G_STMT_START{ \ int err = (value); \ @@ -36,7 +39,7 @@ #define ERROR_CHECK(value, ...) G_STMT_START{ \ int err = (value); \ if (err < 0) { \ - g_warning ( __VA_ARGS__, snd_strerror (err)); \ + GST_ERROR_OBJECT (this, __VA_ARGS__, snd_strerror (err)); \ return FALSE; \ } \ }G_STMT_END @@ -44,7 +47,7 @@ #define ERROR_CHECK(value, args...) G_STMT_START{ \ int err = (value); \ if (err < 0) { \ - g_warning ( ## args, snd_strerror (err)); \ + GST_ERROR_OBJECT (this, ## args, snd_strerror (err)); \ return FALSE; \ } \ }G_STMT_END @@ -52,7 +55,7 @@ #define ERROR_CHECK(value, args...) G_STMT_START{ \ int err = (value); \ if (err < 0) { \ - g_warning (snd_strerror (err)); \ + GST_ERROR_OBJECT (this, snd_strerror (err)); \ return FALSE; \ } \ }G_STMT_END @@ -560,12 +563,12 @@ gst_alsa_sink_check_event (GstAlsaSink *sink, gint pad_nr) } if (gst_event_discont_get_value (event, GST_FORMAT_TIME, &value)) { if (!gst_clock_handle_discont (GST_ELEMENT (this)->clock, value)) - g_printerr ("GstAlsa: clock couldn't handle discontinuity\n"); + GST_WARNING_OBJECT (this, "clock couldn't handle discontinuity"); } if (!gst_event_discont_get_value (event, GST_FORMAT_DEFAULT, &value)) { if (!gst_event_discont_get_value (event, GST_FORMAT_BYTES, &value)) { if (!gst_event_discont_get_value (event, GST_FORMAT_TIME, &value)) { - g_warning ("GstAlsa: Could not acquire samplecount after seek, the clock might screw your pipeline now"); + GST_WARNING_OBJECT (this, "could not acquire samplecount after seek, the clock might screw your pipeline now"); break; } else { if (this->format) /* discont event before any data (and before any caps...) */ @@ -586,7 +589,7 @@ gst_alsa_sink_check_event (GstAlsaSink *sink, gint pad_nr) break; } default: - g_warning ("GstAlsa: got an unknown event (Type: %d)", GST_EVENT_TYPE (event)); + GST_INFO_OBJECT (this, "got an unknown event (Type: %d)", GST_EVENT_TYPE (event)); break; } gst_event_unref (event); @@ -626,17 +629,17 @@ gst_alsa_sink_mmap (GstAlsa *this, snd_pcm_sframes_t *avail) } if ((err = snd_pcm_mmap_begin (this->handle, &dst, &offset, avail)) < 0) { - g_warning ("gstalsa: mmap failed: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "mmap failed: %s", snd_strerror (err)); return -1; } if ((err = snd_pcm_areas_copy (dst, offset, src, 0, this->format->channels, *avail, this->format->format)) < 0) { snd_pcm_mmap_commit (this->handle, offset, 0); - g_warning ("gstalsa: data copy failed: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "data copy failed: %s", snd_strerror (err)); return -1; } if ((err = snd_pcm_mmap_commit (this->handle, offset, *avail)) < 0) { - g_warning ("gstalsa: mmap commit failed: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "mmap commit failed: %s", snd_strerror (err)); return -1; } @@ -665,7 +668,7 @@ gst_alsa_sink_write (GstAlsa *this, snd_pcm_sframes_t *avail) gst_alsa_xrun_recovery (this); return 0; } - g_warning ("error on data access: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "error on data access: %s", snd_strerror (err)); } return err; } @@ -727,27 +730,27 @@ no_difference: int size = samples * snd_pcm_format_physical_width (this->format->format) / 8; g_printerr ("Allocating %d bytes (%ld samples) now to resync: sample %ld expected, but got %ld\n", size, MIN (bytes, samplestamp - this->transmitted), this->transmitted, samplestamp); - sink->data[i] = g_malloc (size); + sink->data[i] = g_try_malloc (size); if (!sink->data[i]) { - g_warning ("GstAlsa: error allocating %d bytes, buffers unsynced now.", size); + GST_WARNING_OBJECT (this, "error allocating %d bytes, buffers unsynced now.", size); goto no_difference; } sink->size[i] = size; if (0 != snd_pcm_format_set_silence (this->format->format, sink->data[i], samples)) { - g_warning ("GstAlsa: error silencing buffer, enjoy the noise."); + GST_WARNING_OBJECT (this, "error silencing buffer, enjoy the noise."); } sink->behaviour[i] = 1; } else if (gst_alsa_samples_to_bytes (this, this->transmitted - samplestamp) >= sink->buf[i]->size) { - g_printerr ("Skipping %lu samples to resync (complete buffer): sample %ld expected, but got %ld\n", - gst_alsa_bytes_to_samples (this, sink->buf[i]->size), this->transmitted, samplestamp); + GST_INFO_OBJECT (this, "Skipping %lu samples to resync (complete buffer): sample %ld expected, but got %ld\n", + gst_alsa_bytes_to_samples (this, sink->buf[i]->size), this->transmitted, samplestamp); /* this buffer is way behind */ gst_buffer_unref (sink->buf[i]); sink->buf[i] = NULL; continue; } else if (this->transmitted > samplestamp) { gint difference = gst_alsa_samples_to_bytes (this, this->transmitted - samplestamp); - g_printerr ("Skipping %lu samples to resync: sample %ld expected, but got %ld\n", - (gulong) this->transmitted - samplestamp, this->transmitted, samplestamp); + GST_INFO_OBJECT (this, "Skipping %lu samples to resync: sample %ld expected, but got %ld\n", + (gulong) this->transmitted - samplestamp, this->transmitted, samplestamp); /* this buffer is only a bit behind */ sink->size[i] = sink->buf[i]->size - difference; sink->data[i] = sink->buf[i]->data + difference; @@ -942,16 +945,16 @@ gst_alsa_src_mmap (GstAlsa *this, snd_pcm_sframes_t *avail) } if ((err = snd_pcm_mmap_begin (this->handle, &src, &offset, avail)) < 0) { - g_warning ("gstalsa: mmap failed: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "mmap failed: %s", snd_strerror (err)); return -1; } if (*avail > 0 && (err = snd_pcm_areas_copy (dst, 0, src, offset, this->format->channels, *avail, this->format->format)) < 0) { snd_pcm_mmap_commit (this->handle, offset, 0); - g_warning ("gstalsa: data copy failed: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "data copy failed: %s", snd_strerror (err)); return -1; } if ((err = snd_pcm_mmap_commit (this->handle, offset, *avail)) < 0) { - g_warning ("gstalsa: mmap commit failed: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "mmap commit failed: %s", snd_strerror (err)); return -1; } @@ -980,7 +983,7 @@ gst_alsa_src_read (GstAlsa *this, snd_pcm_sframes_t *avail) gst_alsa_xrun_recovery (this); return 0; } - g_warning ("error on data access: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "error on data access: %s", snd_strerror (err)); } return err; } @@ -1194,14 +1197,14 @@ gst_alsa_request_new_pad (GstElement *element, GstPadTemplate *templ, channel = (gint) strtol (name + (strchr (templ->name_template, '%') - templ->name_template), NULL, 0); if (channel < 1 || channel >= GST_ALSA_MAX_CHANNELS) { - g_warning ("invalid channel requested. (%d)", channel); + GST_INFO_OBJECT (this, "invalid channel requested. (%d)", channel); return NULL; } } /* make sure the requested channel is free. */ if (channel > 0 || this->pad[channel] != NULL) { - g_warning ("requested channel %d already in use.", channel); + GST_INFO_OBJECT (this, "requested channel %d already in use.", channel); return NULL; } @@ -1352,7 +1355,7 @@ gst_alsa_get_caps_internal (snd_pcm_format_t format) gst_props_add_entry (props, gst_props_entry_new ("endianness", GST_PROPS_INT (G_LITTLE_ENDIAN))); break; default: - g_warning("ALSA: Unknown byte order in sound driver. Continuing by assuming system byte order."); + GST_WARNING ("Unknown byte order in sound driver. Continuing by assuming system byte order."); gst_props_add_entry (props, gst_props_entry_new ("endianness", GST_PROPS_INT (G_BYTE_ORDER))); break; } @@ -1593,7 +1596,7 @@ gst_alsa_change_state (GstElement *element) if (snd_pcm_state (this->handle) == SND_PCM_STATE_PAUSED) { int err = snd_pcm_pause (this->handle, 0); if (err < 0) { - g_warning ("Error unpausing sound: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "Error unpausing sound: %s", snd_strerror (err)); return GST_STATE_FAILURE; } gst_alsa_clock_start (this->clock); @@ -1604,7 +1607,7 @@ gst_alsa_change_state (GstElement *element) if (snd_pcm_state (this->handle) == SND_PCM_STATE_RUNNING) { int err = snd_pcm_pause (this->handle, 1); if (err < 0) { - g_warning ("Error pausing sound: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "Error pausing sound: %s", snd_strerror (err)); return GST_STATE_FAILURE; } gst_alsa_clock_stop (this->clock); @@ -1770,7 +1773,7 @@ gst_alsa_update_avail (GstAlsa *this) if (avail == -EPIPE) { gst_alsa_xrun_recovery (this); } else { - g_warning ("unknown ALSA avail_update return value (%d)", (int) avail); + GST_WARNING_OBJECT (this, "unknown ALSA avail_update return value (%d)", (int) avail); } } return avail; @@ -1792,7 +1795,7 @@ gst_alsa_pcm_wait (GstAlsa *this) return FALSE; } } - g_warning ("error waiting for alsa pcm: (%d: %s)", err, snd_strerror (err)); + GST_ERROR_OBJECT (this, "error waiting for alsa pcm: (%d: %s)", err, snd_strerror (err)); return FALSE; } } @@ -1845,7 +1848,7 @@ gst_alsa_xrun_recovery (GstAlsa *this) snd_pcm_status_alloca (&status); if ((err = snd_pcm_status (this->handle, status)) < 0) - g_warning ("status error: %s", snd_strerror (err)); + GST_ERROR_OBJECT (this, "status error: %s", snd_strerror (err)); if (snd_pcm_status_get_state (status) == SND_PCM_STATE_XRUN) { struct timeval now, diff, tstamp; @@ -1853,7 +1856,7 @@ gst_alsa_xrun_recovery (GstAlsa *this) gettimeofday (&now, 0); snd_pcm_status_get_trigger_tstamp (status, &tstamp); timersub (&now, &tstamp, &diff); - g_warning ("alsa: xrun of at least %.3f msecs", diff.tv_sec * 1000 + diff.tv_usec / 1000.0); + GST_INFO_OBJECT (this, "alsa: xrun of at least %.3f msecs", diff.tv_sec * 1000 + diff.tv_usec / 1000.0); /* if we're allowed to recover, ... */ if (this->autorecover) { @@ -2249,14 +2252,14 @@ gst_alsa_clock_wait (GstClock *clock, GstClockEntry *entry) return GST_CLOCK_ENTRY_EARLY; if (diff > clock->max_diff) { - g_warning ("GstAlsaClock: abnormal clock request diff: %" G_GINT64_FORMAT") >" - " %"G_GINT64_FORMAT, diff, clock->max_diff); + GST_INFO_OBJECT (this, "GstAlsaClock: abnormal clock request diff: %" G_GINT64_FORMAT") >" + " %"G_GINT64_FORMAT, diff, clock->max_diff); return GST_CLOCK_ENTRY_EARLY; } target = entry_time + diff; - GST_DEBUG ("real_target %" G_GUINT64_FORMAT + GST_DEBUG_OBJECT (this, "real_target %" G_GUINT64_FORMAT " target %" G_GUINT64_FORMAT " now %" G_GUINT64_FORMAT, target, GST_CLOCK_ENTRY_TIME (entry), entry_time); @@ -2351,6 +2354,8 @@ plugin_init (GModule * module, GstPlugin * plugin) { GstElementFactory *factory; + GST_DEBUG_CATEGORY_INIT (alsa_debug, "alsa", 0, "alsa plugins"); + factory = gst_element_factory_new ("alsasrc", GST_TYPE_ALSA_SRC, &gst_alsa_src_details); g_return_val_if_fail (factory != NULL, FALSE); gst_element_factory_add_pad_template (factory, gst_alsa_src_pad_factory ()); |