From b95a710d416f46a64f7b1251359b8031fbf0a30d Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sun, 18 Jan 2004 21:46:58 +0000 Subject: [PATCH] use new error signal and classification Original commit message from CVS: use new error signal and classification --- ChangeLog | 141 ++++++++++++++++++++++++++++ examples/gstplay/player.c | 2 +- ext/alsa/gstalsa.c | 8 +- ext/alsa/gstalsasink.c | 4 +- ext/alsa/gstalsasrc.c | 3 +- ext/gnomevfs/gstgnomevfssink.c | 10 +- ext/gnomevfs/gstgnomevfssrc.c | 24 ++--- ext/ogg/gstoggdemux.c | 9 +- ext/vorbis/vorbisenc.c | 2 +- ext/vorbis/vorbisfile.c | 2 +- gst-libs/gst/Makefile.am | 1 + gst-libs/gst/riff/riff-read.c | 19 ++-- gst/adder/gstadder.c | 61 ++++++------ gst/sine/gstsinesrc.c | 2 +- gst/tags/gstvorbistag.c | 4 +- gst/videotestsrc/gstvideotestsrc.c | 4 +- sys/v4l/gstv4lmjpegsink.c | 6 +- sys/v4l/gstv4lmjpegsrc.c | 4 +- sys/v4l/gstv4lsrc.c | 4 +- sys/v4l/v4l-overlay_calls.c | 11 +-- sys/v4l/v4l_calls.c | 107 ++++++++++----------- sys/v4l/v4l_calls.h | 33 +++---- sys/v4l/v4lmjpegsink_calls.c | 62 ++++++------ sys/v4l/v4lmjpegsrc_calls.c | 71 ++++++-------- sys/v4l/v4lsrc_calls.c | 50 ++++------ sys/ximage/ximagesink.c | 5 +- sys/xvimage/xvimagesink.c | 5 +- tests/old/examples/gstplay/player.c | 2 +- 28 files changed, 383 insertions(+), 273 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5580f32441..4d7762a13c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,144 @@ +2004-01-18 Thomas Vander Stichele + + * examples/gstplay/player.c: (main): + * ext/aalib/gstaasink.c: (gst_aasink_open): + * ext/alsa/gstalsa.c: (gst_alsa_link), (gst_alsa_xrun_recovery): + * ext/alsa/gstalsasink.c: (gst_alsa_sink_loop): + * ext/alsa/gstalsasrc.c: (gst_alsa_src_loop): + * ext/audiofile/gstafsink.c: (gst_afsink_open_file), + (gst_afsink_close_file): + * ext/audiofile/gstafsrc.c: (gst_afsrc_open_file), + (gst_afsrc_close_file): + * ext/divx/gstdivxdec.c: (gst_divxdec_setup), (gst_divxdec_chain): + * ext/dv/gstdvdec.c: (gst_dvdec_loop): + * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_user_op), (dvdnavsrc_get): + * ext/esd/esdmon.c: (gst_esdmon_get): + * ext/esd/esdsink.c: (gst_esdsink_chain): + * ext/faac/gstfaac.c: (gst_faac_chain): + * ext/faad/gstfaad.c: (gst_faad_chain): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): + * ext/flac/gstflacdec.c: (gst_flacdec_error_callback), + (gst_flacdec_loop): + * ext/flac/gstflacenc.c: (gst_flacenc_chain): + * ext/flac/gstflactag.c: (gst_flac_tag_chain): + * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_chain): + * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file), + (gst_gnomevfssink_close_file): + * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init), + (gst_gnomevfssrc_open_file): + * ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_loop): + * ext/lame/gstlame.c: (gst_lame_sink_link), (gst_lame_chain): + * ext/lcs/gstcolorspace.c: (gst_colorspace_srcconnect_func): + * ext/mad/gstid3tag.c: (gst_id3_tag_handle_event), + (gst_id3_tag_do_typefind), (gst_id3_tag_chain): + * ext/mad/gstmad.c: (gst_mad_chain): + * ext/mikmod/gstmikmod.c: (gst_mikmod_loop): + * ext/mpeg2dec/gstmpeg2dec.c: + * ext/mpeg2enc/gstmpeg2enc.cc: + * ext/mpeg2enc/gstmpeg2encpicturereader.cc: + * ext/mplex/gstmplex.cc: + * ext/mplex/gstmplexibitstream.cc: + * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain), + (gst_ogg_demux_push), (gst_ogg_pad_push): + * ext/raw1394/gstdv1394src.c: + * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_lock), + (gst_sdlvideosink_initsdl), (gst_sdlvideosink_create): + * ext/sidplay/gstsiddec.cc: + * ext/sndfile/gstsf.c: (gst_sf_open_file), (gst_sf_close_file), + (gst_sf_loop): + * ext/speex/gstspeexenc.c: (gst_speexenc_chain): + * ext/tarkin/gsttarkindec.c: (gst_tarkindec_chain): + * ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_chain): + * ext/vorbis/vorbisenc.c: (gst_vorbisenc_chain): + * ext/vorbis/vorbisfile.c: (gst_vorbisfile_loop): + * ext/xvid/gstxviddec.c: (gst_xviddec_setup), (gst_xviddec_chain): + * ext/xvid/gstxvidenc.c: (gst_xvidenc_setup), (gst_xvidenc_chain): + * gst-libs/gst/Makefile.am: + * gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head), + (gst_riff_read_element_data), (gst_riff_read_seek), + (gst_riff_peek_list), (gst_riff_read_list), (gst_riff_read_header): + * gst/adder/gstadder.c: (gst_adder_parse_caps), (gst_adder_loop): + * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_segment), + (gst_asf_demux_process_stream), (gst_asf_demux_get_stream): + * gst/avi/gstavidemux.c: (gst_avi_demux_stream_init), + (gst_avi_demux_add_stream), (gst_avi_demux_stream_header): + * gst/avi/gstavimux.c: (gst_avimux_stop_file): + * gst/flx/gstflxdec.c: (gst_flxdec_loop): + * gst/goom/gstgoom.c: (gst_goom_chain): + * gst/id3/gstid3types.c: (gst_id3types_loop): + * gst/intfloat/gstfloat2int.c: (gst_float2int_loop): + * gst/intfloat/gstint2float.c: (gst_int2float_chain_gint16): + * gst/matroska/ebml-read.c: (gst_ebml_read_element_id), + (gst_ebml_read_element_length), (gst_ebml_read_element_data), + (gst_ebml_read_seek), (gst_ebml_read_uint), (gst_ebml_read_sint), + (gst_ebml_read_float), (gst_ebml_read_header): + * gst/matroska/matroska-demux.c: (gst_matroska_demux_init_stream), + (gst_matroska_demux_parse_blockgroup): + * gst/modplug/gstmodplug.cc: + * gst/monoscope/gstmonoscope.c: (gst_monoscope_chain): + * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop): + * gst/oneton/gstoneton.c: (gst_oneton_chain): + * gst/silence/gstsilence.c: (gst_silence_get): + * gst/sine/gstsinesrc.c: (gst_sinesrc_get): + * gst/smpte/gstsmpte.c: (gst_smpte_loop): + * gst/speed/gstspeed.c: (speed_loop): + * gst/tags/gstvorbistag.c: (gst_vorbis_tag_chain): + * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): + * gst/volenv/gstvolenv.c: (gst_volenv_chain): + * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): + * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt), + (gst_wavparse_loop): + * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_open), + (dxr3audiosink_set_mode_pcm), (dxr3audiosink_set_mode_ac3), + (dxr3audiosink_close): + * sys/dxr3/dxr3spusink.c: (dxr3spusink_open), (dxr3spusink_close): + * sys/dxr3/dxr3videosink.c: (dxr3videosink_open), + (dxr3videosink_close), (dxr3videosink_write_data): + * sys/oss/gstosselement.c: (gst_osselement_open_audio): + * sys/oss/gstosselement.h: + * sys/oss/gstosssink.c: (gst_osssink_get_type), (gst_osssink_init), + (gst_osssink_chain): + * sys/oss/gstosssrc.c: (gst_osssrc_get): + * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain): + * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_buffer_free): + * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_buffer_free): + * sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_window), + (gst_v4l_enable_overlay): + * sys/v4l/v4l_calls.c: (gst_v4l_get_capabilities), (gst_v4l_open), + (gst_v4l_set_chan_norm), (gst_v4l_get_signal), + (gst_v4l_get_frequency), (gst_v4l_set_frequency), + (gst_v4l_get_picture), (gst_v4l_set_picture), (gst_v4l_get_audio), + (gst_v4l_set_audio): + * sys/v4l/v4l_calls.h: + * sys/v4l/v4lmjpegsink_calls.c: (gst_v4lmjpegsink_sync_thread), + (gst_v4lmjpegsink_queue_frame), (gst_v4lmjpegsink_set_playback), + (gst_v4lmjpegsink_playback_init), + (gst_v4lmjpegsink_playback_start): + * sys/v4l/v4lmjpegsrc_calls.c: (gst_v4lmjpegsrc_queue_frame), + (gst_v4lmjpegsrc_sync_next_frame), (gst_v4lmjpegsrc_set_capture), + (gst_v4lmjpegsrc_set_capture_m), (gst_v4lmjpegsrc_capture_init), + (gst_v4lmjpegsrc_requeue_frame): + * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_queue_frame), + (gst_v4lsrc_sync_frame), (gst_v4lsrc_capture_init), + (gst_v4lsrc_requeue_frame), (gst_v4lsrc_try_palette): + * sys/v4l2/gstv4l2src.c: (gst_v4l2src_get): + * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list), + (gst_v4l2src_queue_frame), (gst_v4l2src_grab_frame), + (gst_v4l2src_get_capture), (gst_v4l2src_set_capture), + (gst_v4l2src_capture_init), (gst_v4l2src_capture_start), + (gst_v4l2src_capture_stop): + * sys/vcd/vcdsrc.c: (vcdsrc_open_file): + * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), + (gst_ximagesink_chain): + * sys/xvideo/xvideosink.c: (gst_xvideosink_buffer_new), + (gst_xvideosink_sinkconnect), (gst_xvideosink_chain), + (gst_xvideosink_xwindow_new): + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get), + (gst_xvimagesink_chain): + use new error signal, function and categories + 2004-01-18 Jeremy Simon * configure.ac: diff --git a/examples/gstplay/player.c b/examples/gstplay/player.c index 5d4f246638..094cab56ef 100644 --- a/examples/gstplay/player.c +++ b/examples/gstplay/player.c @@ -115,7 +115,7 @@ main (int argc, char *argv[]) /* Getting default audio and video plugins from GConf */ audio_sink = gst_element_factory_make ("osssink", "audio_sink"); - video_sink = gst_element_factory_make ("xvimagesink", "video_sink"); + video_sink = gst_element_factory_make ("ximagesink", "video_sink"); vis_element = gst_element_factory_make ("goom", "vis_element"); data_src = gst_element_factory_make ("gnomevfssrc", "source"); diff --git a/ext/alsa/gstalsa.c b/ext/alsa/gstalsa.c index 6c092f8a6f..60bb3fc650 100644 --- a/ext/alsa/gstalsa.c +++ b/ext/alsa/gstalsa.c @@ -658,7 +658,8 @@ gst_alsa_link (GstPad *pad, const GstCaps *caps) GstCaps *old = gst_alsa_caps (this->format->format, this->format->rate, this->format->channels); for (--i; i >= 0; i--) { if (gst_pad_try_set_caps (this->pad[i], old) == GST_PAD_LINK_REFUSED) { - gst_element_error (GST_ELEMENT (this), "error resetting caps to sane value"); + gst_element_error (this, CORE, NEGOTIATION, NULL, + ("could not reset caps to a sane value")); gst_caps_free (old); break; } else { @@ -679,7 +680,7 @@ gst_alsa_link (GstPad *pad, const GstCaps *caps) g_free (this->format); this->format = format; if (! gst_alsa_start_audio (this)) { - gst_element_error (GST_ELEMENT (this), "Probed format doesn't work"); + gst_element_error (this, RESOURCE, SETTINGS, NULL, NULL); return GST_PAD_LINK_REFUSED; } @@ -872,7 +873,8 @@ gst_alsa_xrun_recovery (GstAlsa *this) } if (!(gst_alsa_stop_audio (this) && gst_alsa_start_audio (this))) { - gst_element_error (GST_ELEMENT (this), "alsasink: Error restarting audio after xrun"); + gst_element_error (this, RESOURCE, FAILED, NULL, + ("Error restarting audio after xrun")); } } diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c index 361ff0f058..d6160a71fe 100644 --- a/ext/alsa/gstalsasink.c +++ b/ext/alsa/gstalsasink.c @@ -342,8 +342,8 @@ sink_restart: } /* caps nego failed somewhere */ if (this->format == NULL) { - gst_element_error (GST_ELEMENT (this), "alsasink: No caps available"); - return; + gst_element_error (this, CORE, NEGOTIATION, NULL, + ("ALSA format not negotiated")); } samplestamp = gst_alsa_timestamp_to_samples (this, GST_BUFFER_TIMESTAMP (sink->buf[i])); max_discont = gst_alsa_timestamp_to_samples (this, this->max_discont); diff --git a/ext/alsa/gstalsasrc.c b/ext/alsa/gstalsasrc.c index 4bd096a03f..273ba9b2e9 100644 --- a/ext/alsa/gstalsasrc.c +++ b/ext/alsa/gstalsasrc.c @@ -311,7 +311,8 @@ gst_alsa_src_loop (GstElement *element) /* set the caps on all pads */ if (!this->format) { if (!gst_alsa_src_set_caps (src, FALSE)) { - gst_element_error (element, "Could not set caps"); + gst_element_error (element, CORE, NEGOTIATION, NULL, + ("ALSA format not negotiated")); return; } } diff --git a/ext/gnomevfs/gstgnomevfssink.c b/ext/gnomevfs/gstgnomevfssink.c index f7b66b1a4b..6e6ccea4de 100644 --- a/ext/gnomevfs/gstgnomevfssink.c +++ b/ext/gnomevfs/gstgnomevfssink.c @@ -27,6 +27,8 @@ #include "config.h" #endif +#include "gst-libs/gst/gst-i18n-plugin.h" + #include "gstgnomevfs.h" #include @@ -280,7 +282,9 @@ gst_gnomevfssink_open_file (GstGnomeVFSSink *sink) gst_gnomevfssink_signals[SIGNAL_ERASE_ASK], 0, sink->erase); } - gst_element_error (GST_ELEMENT (sink), "opening file \"%s\" (%s)", sink->filename, strerror (errno)); + gst_element_error (sink, RESOURCE, OPEN_WRITE, + (_("Error opening vfs file \"%s\""), sink->filename), + GST_ERROR_SYSTEM); return FALSE; } } else @@ -303,7 +307,9 @@ gst_gnomevfssink_close_file (GstGnomeVFSSink *sink) result = gnome_vfs_close(sink->handle); if (result != GNOME_VFS_OK) - gst_element_error (GST_ELEMENT (sink), "closing file \"%s\" (%s)", sink->filename, strerror (errno)); + gst_element_error (sink, RESOURCE, CLOSE, + (_("Error closing file \"%s\""), sink->filename), + GST_ERROR_SYSTEM); } GST_FLAG_UNSET (sink, GST_GNOMEVFSSINK_OPEN); diff --git a/ext/gnomevfs/gstgnomevfssrc.c b/ext/gnomevfs/gstgnomevfssrc.c index c7fbecea59..a59a45f5c6 100644 --- a/ext/gnomevfs/gstgnomevfssrc.c +++ b/ext/gnomevfs/gstgnomevfssrc.c @@ -30,6 +30,8 @@ #include "config.h" #endif +#include "gst-libs/gst/gst-i18n-plugin.h" + #include "gstgnomevfs.h" #include @@ -525,7 +527,8 @@ static int audiocast_init(GstGnomeVFSSrc *src) return TRUE; GST_DEBUG ("audiocast: registering listener"); if (audiocast_register_listener(&src->audiocast_port, &src->audiocast_fd) < 0) { - gst_element_error(GST_ELEMENT(src), "unable to register UDP port"); + gst_element_error (src, RESOURCE, OPEN_READ, NULL, + ("Unable to listen on UDP port %d", src->audiocast_port)); close(src->audiocast_fd); return FALSE; } @@ -541,8 +544,8 @@ static int audiocast_init(GstGnomeVFSSrc *src) GST_DEBUG ("audiocast: creating audiocast thread"); src->audiocast_thread = g_thread_create((GThreadFunc) audiocast_thread_run, src, TRUE, &error); if (error != NULL) { - gst_element_error(GST_ELEMENT(src), - "unable to create thread: %s", error->message); + gst_element_error (src, RESOURCE, TOO_LAZY, NULL, + ("Unable to create thread: %s", error->message)); close(src->audiocast_fd); return FALSE; } @@ -1048,8 +1051,8 @@ static gboolean gst_gnomevfssrc_open_file(GstGnomeVFSSrc *src) /* create the uri */ src->uri = gnome_vfs_uri_new(src->filename); if (!src->uri) { - gst_element_error(GST_ELEMENT(src), "creating uri \"%s\" (%s)", - src->filename, strerror (errno)); + gst_element_error (src, RESOURCE, OPEN_READ, + (_("Error opening URI \"%s\" for reading"), src->filename), GST_ERROR_SYSTEM); return FALSE; } } @@ -1066,19 +1069,18 @@ static gboolean gst_gnomevfssrc_open_file(GstGnomeVFSSrc *src) result = GNOME_VFS_OK; if (result != GNOME_VFS_OK) { char *escaped; - + gst_gnomevfssrc_pop_callbacks (src); audiocast_thread_kill(src); escaped = gnome_vfs_unescape_string_for_display (src->filename); - gst_element_error(GST_ELEMENT(src), - "opening vfs file \"%s\" (%s)", - escaped, - gnome_vfs_result_to_string(result)); + gst_element_error (src, RESOURCE, OPEN_READ, + (_("Error opening vfs file \"%s\""), escaped), + (gnome_vfs_result_to_string (result))); g_free (escaped); return FALSE; } - + info = gnome_vfs_file_info_new (); if (gnome_vfs_get_file_info_from_handle (src->handle, info, GNOME_VFS_FILE_INFO_DEFAULT) diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 34e40cf65b..a3bae8b789 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -313,7 +313,7 @@ gst_ogg_demux_chain (GstPad *pad, GstData *buffer) memcpy (data, GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer)); if (ogg_sync_wrote (&ogg->sync, GST_BUFFER_SIZE (buffer)) != 0) { gst_data_unref (buffer); - gst_element_error (GST_ELEMENT (ogg), "ogg_sync_wrote failed"); + gst_element_error (ogg, LIBRARY, TOO_LAZY, NULL, ("ogg_sync_wrote failed")); return; } gst_data_unref (buffer); @@ -394,13 +394,13 @@ br: /* FIXME: monitor if we are still in creation stage? */ cur = gst_ogg_pad_new (ogg, ogg_page_serialno (page)); if (!cur) { - gst_element_error (GST_ELEMENT (ogg), "Creating ogg_stream struct failed."); + gst_element_error (ogg, LIBRARY, TOO_LAZY, NULL, ("Creating ogg_stream struct failed.")); } ogg->srcpads = g_slist_prepend (ogg->srcpads, cur); } } if (cur == NULL) { - gst_element_error (GST_ELEMENT (ogg), "invalid ogg stream serial no"); + gst_element_error (ogg, LIBRARY, TOO_LAZY, NULL, ("invalid ogg stream serial no")); return; } if (ogg_stream_pagein (&cur->stream, page) != 0) { @@ -438,8 +438,7 @@ gst_ogg_pad_push (GstOggDemux *ogg, GstOggPad *pad) gchar *name = g_strdup_printf ("serial %d", pad->serial); if (caps == NULL) { - gst_element_error (GST_ELEMENT (ogg), - "couldn't determine stream type from media"); + gst_element_error (ogg, STREAM, TYPE_NOT_FOUND, NULL, NULL); return; } pad->pad = gst_pad_new_from_template ( diff --git a/ext/vorbis/vorbisenc.c b/ext/vorbis/vorbisenc.c index 6ff6026cb4..97c417358c 100644 --- a/ext/vorbis/vorbisenc.c +++ b/ext/vorbis/vorbisenc.c @@ -783,7 +783,7 @@ gst_vorbisenc_chain (GstPad * pad, GstData *_data) if (!vorbisenc->setup) { gst_buffer_unref (buf); - gst_element_error (GST_ELEMENT (vorbisenc), "encoder not initialized (input is not audio?)"); + gst_element_error (vorbisenc, CORE, NEGOTIATION, NULL, ("encoder not initialized (input is not audio?)")); return; } diff --git a/ext/vorbis/vorbisfile.c b/ext/vorbis/vorbisfile.c index 5e3907ba2c..97b6b8d485 100644 --- a/ext/vorbis/vorbisfile.c +++ b/ext/vorbis/vorbisfile.c @@ -550,7 +550,7 @@ gst_vorbisfile_loop (GstElement *element) /* open our custom vorbisfile data object with the callbacks we provide */ if (ov_open_callbacks (vorbisfile, &vorbisfile->vf, NULL, 0, vorbisfile_ov_callbacks) < 0) { - gst_element_error (element, "this is not a vorbis file"); + gst_element_error (element, STREAM, WRONG_TYPE, NULL, NULL); return; } vorbisfile->need_discont = TRUE; diff --git a/gst-libs/gst/Makefile.am b/gst-libs/gst/Makefile.am index 05560a24a0..bfec499e12 100644 --- a/gst-libs/gst/Makefile.am +++ b/gst-libs/gst/Makefile.am @@ -65,3 +65,4 @@ libgstinterfaces_@GST_MAJORMINOR@_la_LIBADD = \ libgstinterfaces_@GST_MAJORMINOR@_la_LDFLAGS = @GST_PLUGINS_LT_LDFLAGS@ -version-info @GST_PLUGINS_LIBVERSION@ +noinst_HEADERS = gst-i18n-plugin.h diff --git a/gst-libs/gst/riff/riff-read.c b/gst-libs/gst/riff/riff-read.c index ca09a52680..85714000cd 100644 --- a/gst-libs/gst/riff/riff-read.c +++ b/gst-libs/gst/riff/riff-read.c @@ -199,7 +199,7 @@ gst_riff_peek_head (GstRiffRead *riff, gst_pad_event_default (riff->sinkpad, event); } else { gst_event_unref (event); - gst_element_error (GST_ELEMENT (riff), "Read error"); + gst_element_error (riff, RESOURCE, READ, NULL, NULL); } return FALSE; } @@ -228,7 +228,7 @@ gst_riff_read_element_data (GstRiffRead *riff, GstBuffer *buf = NULL; if (gst_bytestream_peek (riff->bs, &buf, length) != length) { - gst_element_error (GST_ELEMENT (riff), "Read error"); + gst_element_error (riff, RESOURCE, READ, NULL, NULL); if (buf) gst_buffer_unref (buf); return NULL; @@ -271,7 +271,7 @@ gst_riff_read_seek (GstRiffRead *riff, /* now seek */ if (!gst_bytestream_seek (riff->bs, offset, GST_SEEK_METHOD_SET)) { - gst_element_error (GST_ELEMENT (riff), "Seek failed"); + gst_element_error (riff, RESOURCE, SEEK, NULL, NULL); return NULL; } @@ -283,8 +283,8 @@ gst_riff_read_seek (GstRiffRead *riff, /* get the discont event and return */ gst_bytestream_get_status (riff->bs, &remaining, &event); if (!event || GST_EVENT_TYPE (event) != GST_EVENT_DISCONTINUOUS) { - gst_element_error (GST_ELEMENT (riff), - "No discontinuity event after seek"); + gst_element_error (riff, CORE, EVENT, NULL, + ("No discontinuity event after seek")); if (event) gst_event_unref (event); return NULL; @@ -327,7 +327,7 @@ gst_riff_peek_list (GstRiffRead *riff) } if (gst_bytestream_peek_bytes (riff->bs, &data, 12) != 12) { - gst_element_error (GST_ELEMENT (riff), "Read error"); + gst_element_error (riff, RESOURCE, READ, NULL, NULL); return 0; } @@ -687,7 +687,7 @@ gst_riff_read_list (GstRiffRead *riff, } gst_bytestream_flush_fast (riff->bs, 8); if (gst_bytestream_peek_bytes (riff->bs, &data, 4) != 4) { - gst_element_error (GST_ELEMENT (riff), "Read error"); + gst_element_error (riff, RESOURCE, READ, NULL, NULL); return FALSE; } gst_bytestream_flush_fast (riff->bs, 4); @@ -845,15 +845,14 @@ gst_riff_read_header (GstRiffRead *riff, if (!gst_riff_peek_head (riff, &tag, &length, NULL)) return FALSE; if (tag != GST_RIFF_TAG_RIFF) { - gst_element_error (GST_ELEMENT (riff), - "Not a RIFF file"); + gst_element_error (riff, STREAM, WRONG_TYPE, NULL, NULL); return FALSE; } gst_bytestream_flush_fast (riff->bs, 8); /* doctype */ if (gst_bytestream_peek_bytes (riff->bs, &data, 4) != 4) { - gst_element_error (GST_ELEMENT (riff), "Read error"); + gst_element_error (riff, RESOURCE, READ, NULL, NULL); return FALSE; } gst_bytestream_flush_fast (riff->bs, 4); diff --git a/gst/adder/gstadder.c b/gst/adder/gstadder.c index bd79d380dc..65d6029e2a 100644 --- a/gst/adder/gstadder.c +++ b/gst/adder/gstadder.c @@ -148,29 +148,29 @@ gst_adder_parse_caps (GstAdder *adder, GstStructure *structure) /* provide an error message if we can't link */ if (adder->format != GST_ADDER_FORMAT_INT) { - gst_element_error (el, "can't link a non-int pad to an int adder"); + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link a non-int pad to an int adder")); return FALSE; } if (adder->channels != channels) { - gst_element_error (el, - "can't link %d-channel pad with %d-channel adder", - channels, adder->channels); + gst_element_error (el, CORE, NEGOTIATION, NULL, + ("can't link %d-channel pad with %d-channel adder", + channels, adder->channels)); return FALSE; } if (adder->rate != rate) { - gst_element_error (el, "can't link %d Hz pad with %d Hz adder", - rate, adder->rate); + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link %d Hz pad with %d Hz adder", + rate, adder->rate)); return FALSE; } if (adder->width != width) { - gst_element_error (el, "can't link %d-bit pad with %d-bit adder", - width, adder->width); + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link %d-bit pad with %d-bit adder", + width, adder->width)); return FALSE; } if (adder->is_signed != is_signed) { - gst_element_error (el, "can't link %ssigned pad with %ssigned adder", + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link %ssigned pad with %ssigned adder", adder->is_signed ? "" : "un", - is_signed ? "" : "un"); + is_signed ? "" : "un")); return FALSE; } } else if (strcmp (mimetype, "audio/x-raw-float") == 0) { @@ -181,23 +181,23 @@ gst_adder_parse_caps (GstAdder *adder, GstStructure *structure) gst_structure_get_int (structure, "rate", &rate); if (adder->format != GST_ADDER_FORMAT_FLOAT) { - gst_element_error (el, "can't link a non-float pad to a float adder"); + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link a non-float pad to a float adder")); return FALSE; } if (adder->channels != channels) { - gst_element_error (el, - "can't link %d-channel pad with %d-channel adder", - channels, adder->channels); + gst_element_error (el, CORE, NEGOTIATION, NULL, + ("can't link %d-channel pad with %d-channel adder", + channels, adder->channels)); return FALSE; } if (adder->rate != rate) { - gst_element_error (el, "can't link %d Hz pad with %d Hz adder", - rate, adder->rate); + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link %d Hz pad with %d Hz adder", + rate, adder->rate)); return FALSE; } if (adder->width != width) { - gst_element_error (el, "can't link %d bit float pad with %d bit adder", - width, adder->width); + gst_element_error (el, CORE, NEGOTIATION, NULL, ("can't link %d bit float pad with %d bit adder", + width, adder->width)); return FALSE; } } @@ -400,7 +400,7 @@ gst_adder_loop (GstElement *element) buf_out = gst_buffer_new_and_alloc (1024); if (buf_out == NULL) { - gst_element_error (GST_ELEMENT (adder), "could not get new output buffer"); + gst_element_error (adder, CORE, TOO_LAZY, NULL, ("could not get new output buffer")); return; } @@ -488,9 +488,9 @@ gst_adder_loop (GstElement *element) for (i = 0; i < GST_BUFFER_SIZE (buf_out); i++) out[i] = CLAMP(out[i] + in[i], 0x80, 0x7f); } else { - gst_element_error (GST_ELEMENT (adder), - "invalid width (%u) for integer audio in gstadder", - adder->width); + gst_element_error (adder, STREAM, FORMAT, NULL, + ("invalid width (%u) for integer audio in gstadder", + adder->width)); return; } } else if (adder->format == GST_ADDER_FORMAT_FLOAT) { @@ -505,15 +505,15 @@ gst_adder_loop (GstElement *element) for (i = 0; i < GST_BUFFER_SIZE (buf_out) / sizeof (gfloat); i++) out[i] = CLAMP(out[i] + in[i], -1.0, 1.0); } else { - gst_element_error (GST_ELEMENT (adder), - "invalid width (%u) for float audio in gstadder", - adder->width); + gst_element_error (adder, STREAM, FORMAT, NULL, + ("invalid width (%u) for float audio in gstadder", + adder->width)); return; } } else { - gst_element_error (GST_ELEMENT (adder), - "invalid audio format (%d) in gstadder", - adder->format); + gst_element_error (adder, STREAM, FORMAT, NULL, + ("invalid audio format (%d) in gstadder", + adder->format)); return; } @@ -527,9 +527,8 @@ gst_adder_loop (GstElement *element) GstCaps *caps = gst_caps_from_string (GST_AUDIO_INT_PAD_TEMPLATE_CAPS); if (gst_pad_try_set_caps (adder->srcpad, caps) < 0) { - gst_element_error (GST_ELEMENT (adder), - "Couldn't set the default caps, " - "use link_filtered instead"); + gst_element_error (adder, CORE, NEGOTIATION, NULL, + ("Couldn't set the default caps, use link_filtered instead")); return; } diff --git a/gst/sine/gstsinesrc.c b/gst/sine/gstsinesrc.c index 4ceda2947d..447a491d30 100644 --- a/gst/sine/gstsinesrc.c +++ b/gst/sine/gstsinesrc.c @@ -383,7 +383,7 @@ gst_sinesrc_get (GstPad *pad) if (!GST_PAD_CAPS (src->srcpad)) { if (gst_sinesrc_link (src->srcpad, gst_pad_get_allowed_caps (src->srcpad)) <= 0) { - gst_element_error (GST_ELEMENT (src), "Could not set caps"); + gst_element_error (src, CORE, NEGOTIATION, NULL, NULL); return NULL; } } diff --git a/gst/tags/gstvorbistag.c b/gst/tags/gstvorbistag.c index ce1b1e7568..a3da0e1e6e 100644 --- a/gst/tags/gstvorbistag.c +++ b/gst/tags/gstvorbistag.c @@ -526,7 +526,7 @@ gst_vorbis_tag_chain (GstPad *pad, GstData *data) } if (GST_BUFFER_SIZE (buffer) == 0) - gst_element_error (GST_ELEMENT (tag), "empty buffers are not allowed in vorbis data"); + gst_element_error (tag, CORE, TAG, NULL, ("empty buffers are not allowed in vorbis data")); if (GST_BUFFER_DATA (buffer)[0] == 3) { gchar *vendor; @@ -534,7 +534,7 @@ gst_vorbis_tag_chain (GstPad *pad, GstData *data) gst_data_unref (data); if (list == NULL) { - gst_element_error (GST_ELEMENT (tag), "invalid data in vorbis comments"); + gst_element_error (tag, CORE, TAG, NULL, ("invalid data in vorbis comments")); return; } gst_element_found_tags_for_pad (GST_ELEMENT (tag), tag->srcpad, 0, diff --git a/gst/videotestsrc/gstvideotestsrc.c b/gst/videotestsrc/gstvideotestsrc.c index e1ff441f3c..12557e5d93 100644 --- a/gst/videotestsrc/gstvideotestsrc.c +++ b/gst/videotestsrc/gstvideotestsrc.c @@ -406,8 +406,8 @@ gst_videotestsrc_get (GstPad * pad) videotestsrc = GST_VIDEOTESTSRC (gst_pad_get_parent (pad)); if (videotestsrc->fourcc == NULL) { - gst_element_error (GST_ELEMENT (videotestsrc), - "No color format set - aborting"); + gst_element_error (videotestsrc, CORE, NEGOTIATION, NULL, + ("format wasn't negotiated before get function")); return NULL; } diff --git a/sys/v4l/gstv4lmjpegsink.c b/sys/v4l/gstv4lmjpegsink.c index d2212a4fc6..fa0b80112c 100644 --- a/sys/v4l/gstv4lmjpegsink.c +++ b/sys/v4l/gstv4lmjpegsink.c @@ -269,9 +269,9 @@ gst_v4lmjpegsink_chain (GstPad *pad, /* check size */ if (GST_BUFFER_SIZE(buf) > v4lmjpegsink->breq.size) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Buffer too big (%d KB), max. buffersize is %d KB", - GST_BUFFER_SIZE(buf)/1024, v4lmjpegsink->breq.size/1024); + gst_element_error (v4lmjpegsink, RESOURCE, WRITE, NULL, + ("Buffer too big (%d KB), max. buffersize is %ld KB", + GST_BUFFER_SIZE(buf)/1024, v4lmjpegsink->breq.size/1024)); return; } diff --git a/sys/v4l/gstv4lmjpegsrc.c b/sys/v4l/gstv4lmjpegsrc.c index ad16fe01a9..4fd3f0dfdd 100644 --- a/sys/v4l/gstv4lmjpegsrc.c +++ b/sys/v4l/gstv4lmjpegsrc.c @@ -811,6 +811,6 @@ gst_v4lmjpegsrc_buffer_free (GstBuffer *buf) } if (n == v4lmjpegsrc->breq.count) - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Couldn't find the buffer"); + gst_element_error(v4lmjpegsrc, RESOURCE, TOO_LAZY, NULL, + ("Couldn't find the buffer")); } diff --git a/sys/v4l/gstv4lsrc.c b/sys/v4l/gstv4lsrc.c index 6885dca180..45db3f4990 100644 --- a/sys/v4l/gstv4lsrc.c +++ b/sys/v4l/gstv4lsrc.c @@ -829,8 +829,8 @@ gst_v4lsrc_buffer_free (GstBuffer *buf) } if (n == v4lsrc->mbuf.frames) - gst_element_error(GST_ELEMENT(v4lsrc), - "Couldn\'t find the buffer"); + gst_element_error (v4lsrc, RESOURCE, TOO_LAZY, NULL, + ("Couldn\'t find the buffer")); } diff --git a/sys/v4l/v4l-overlay_calls.c b/sys/v4l/v4l-overlay_calls.c index 044c07f611..42aeea4708 100644 --- a/sys/v4l/v4l-overlay_calls.c +++ b/sys/v4l/v4l-overlay_calls.c @@ -124,9 +124,8 @@ gst_v4l_set_window (GstElement *element, if (ioctl(v4lelement->video_fd, VIDIOCSWIN, &vwin) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Failed to set the video window: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, TOO_LAZY, NULL, + ("Failed to set the video window: %s", g_strerror (errno))); return FALSE; } @@ -152,9 +151,9 @@ gst_v4l_enable_overlay (GstV4lElement *v4lelement, if (ioctl(v4lelement->video_fd, VIDIOCCAPTURE, &doit) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Failed to %s overlay display: %s", - enable?"enable":"disable", g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, TOO_LAZY, NULL, + ("Failed to %s overlay display: %s", + enable?"enable":"disable", g_strerror (errno))); return FALSE; } diff --git a/sys/v4l/v4l_calls.c b/sys/v4l/v4l_calls.c index 1bfbf27959..e7d72535b7 100644 --- a/sys/v4l/v4l_calls.c +++ b/sys/v4l/v4l_calls.c @@ -84,9 +84,9 @@ gst_v4l_get_capabilities (GstV4lElement *v4lelement) if (ioctl(v4lelement->video_fd, VIDIOCGCAP, &(v4lelement->vcap)) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting \'%s\' capabilities: %s", - v4lelement->videodev, g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("error getting capabilities %s of from device %s", + g_strerror (errno), v4lelement->videodev)); return FALSE; } @@ -111,8 +111,8 @@ gst_v4l_open (GstV4lElement *v4lelement) /* be sure we have a device */ if (!v4lelement->videodev) { - gst_element_error (GST_ELEMENT (v4lelement), - "No device given - open failed"); + gst_element_error (v4lelement, RESOURCE, NOT_FOUND, + (_("No device specified")), NULL); return FALSE; } @@ -120,9 +120,9 @@ gst_v4l_open (GstV4lElement *v4lelement) v4lelement->video_fd = open(v4lelement->videodev, O_RDWR); if (!GST_V4L_IS_OPEN(v4lelement)) { - gst_element_error(GST_ELEMENT(v4lelement), - "Failed to open device (\'%s\'): %s", - v4lelement->videodev, g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, OPEN_READ_WRITE, + (_("Could not open device \"%s\" for reading"), v4lelement->videodev), + GST_ERROR_SYSTEM); return FALSE; } @@ -141,9 +141,9 @@ gst_v4l_open (GstV4lElement *v4lelement) !(v4lelement->vcap.type & VID_TYPE_MJPEG_ENCODER)) || (GST_IS_V4LMJPEGSINK(v4lelement) && !(v4lelement->vcap.type & VID_TYPE_MJPEG_DECODER))) { - gst_element_error(GST_ELEMENT(v4lelement), - "Device opened, but wrong type (0x%x)", - v4lelement->vcap.type); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Device opened, but wrong type (0x%x)", + v4lelement->vcap.type)); close(v4lelement->video_fd); v4lelement->video_fd = -1; return FALSE; @@ -354,17 +354,17 @@ gst_v4l_set_chan_norm (GstV4lElement *v4lelement, if (ioctl(v4lelement->video_fd, VIDIOCSCHAN, &(v4lelement->vchan)) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting the channel/norm settings: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error setting the channel/norm settings: %s", + g_strerror(errno))); return FALSE; } if (ioctl(v4lelement->video_fd, VIDIOCGCHAN, &(v4lelement->vchan)) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting the channel/norm settings: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting the channel/norm settings: %s", + g_strerror(errno))); return FALSE; } @@ -391,9 +391,8 @@ gst_v4l_get_signal (GstV4lElement *v4lelement, tuner.tuner = tunernum; if (ioctl(v4lelement->video_fd, VIDIOCGTUNER, &tuner) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting tuner signal: %s", - sys_errlist[errno]); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting tuner signal: %s", g_strerror (errno))); return FALSE; } @@ -428,9 +427,8 @@ gst_v4l_get_frequency (GstV4lElement *v4lelement, if (ioctl(v4lelement->video_fd, VIDIOCGFREQ, frequency) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting tuner frequency: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting tuner frequency: %s", g_strerror (errno))); return FALSE; } @@ -463,9 +461,8 @@ gst_v4l_set_frequency (GstV4lElement *v4lelement, if (ioctl(v4lelement->video_fd, VIDIOCSFREQ, &frequency) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting tuner frequency: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error setting tuner frequency: %s", g_strerror (errno))); return FALSE; } @@ -492,9 +489,8 @@ gst_v4l_get_picture (GstV4lElement *v4lelement, if (ioctl(v4lelement->video_fd, VIDIOCGPICT, &vpic) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting picture parameters: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting picture parameters: %s", g_strerror (errno))); return FALSE; } @@ -513,9 +509,8 @@ gst_v4l_get_picture (GstV4lElement *v4lelement, *value = vpic.colour; break; default: - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting picture parameters: unknown type %d", - type); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting picture parameters: unknown type %d", type)); return FALSE; } @@ -542,9 +537,8 @@ gst_v4l_set_picture (GstV4lElement *v4lelement, if (ioctl(v4lelement->video_fd, VIDIOCGPICT, &vpic) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting picture parameters: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting picture parameters: %s", g_strerror (errno))); return FALSE; } @@ -563,17 +557,15 @@ gst_v4l_set_picture (GstV4lElement *v4lelement, vpic.colour = value; break; default: - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting picture parameters: unknown type %d", - type); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error setting picture parameters: unknown type %d", type)); return FALSE; } if (ioctl(v4lelement->video_fd, VIDIOCSPICT, &vpic) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting picture parameters: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error setting picture parameters: %s", g_strerror (errno))); return FALSE; } @@ -602,9 +594,8 @@ gst_v4l_get_audio (GstV4lElement *v4lelement, vau.audio = audionum; if (ioctl(v4lelement->video_fd, VIDIOCGAUDIO, &vau) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting audio parameters: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting audio parameters: %s", g_strerror (errno))); return FALSE; } @@ -620,9 +611,8 @@ gst_v4l_get_audio (GstV4lElement *v4lelement, *value = vau.mode; break; default: - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting audio parameters: unknown type %d", - type); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting audio parameters: unknown type %d", type)); return FALSE; } @@ -651,9 +641,8 @@ gst_v4l_set_audio (GstV4lElement *v4lelement, vau.audio = audionum; if (ioctl(v4lelement->video_fd, VIDIOCGAUDIO, &vau) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error getting audio parameters: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error getting audio parameters: %s", g_strerror (errno))); return FALSE; } @@ -662,8 +651,8 @@ gst_v4l_set_audio (GstV4lElement *v4lelement, case V4L_AUDIO_MUTE: if (!(vau.flags & VIDEO_AUDIO_MUTABLE)) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting audio mute: (un)setting mute is not supported"); + gst_element_error (v4lelement, CORE, NOT_IMPLEMENTED, NULL, + ("Error setting audio mute: (un)setting mute is not supported")); return FALSE; } if (value) @@ -674,8 +663,8 @@ gst_v4l_set_audio (GstV4lElement *v4lelement, case V4L_AUDIO_VOLUME: if (!(vau.flags & VIDEO_AUDIO_VOLUME)) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting audio volume: setting volume is not supported"); + gst_element_error (v4lelement, CORE, NOT_IMPLEMENTED, NULL, + ("Error setting audio volume: setting volume is not supported")); return FALSE; } vau.volume = value; @@ -684,17 +673,15 @@ gst_v4l_set_audio (GstV4lElement *v4lelement, vau.mode = value; break; default: - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting audio parameters: unknown type %d", - type); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error setting audio parameters: unknown type %d", type)); return FALSE; } if (ioctl(v4lelement->video_fd, VIDIOCSAUDIO, &vau) < 0) { - gst_element_error(GST_ELEMENT(v4lelement), - "Error setting audio parameters: %s", - g_strerror(errno)); + gst_element_error (v4lelement, RESOURCE, SETTINGS, NULL, + ("Error setting audio parameters: %s", g_strerror (errno))); return FALSE; } diff --git a/sys/v4l/v4l_calls.h b/sys/v4l/v4l_calls.h index df12f29e85..87070e526a 100644 --- a/sys/v4l/v4l_calls.h +++ b/sys/v4l/v4l_calls.h @@ -21,6 +21,7 @@ #define __V4L_CALLS_H__ #include "gstv4lelement.h" +#include "gst-libs/gst/gst-i18n-plugin.h" #ifdef __cplusplus extern "C" { @@ -39,38 +40,38 @@ extern "C" { (v4lelement->vcap.type & VID_TYPE_OVERLAY) /* checks whether the current v4lelement has already been open()'ed or not */ -#define GST_V4L_CHECK_OPEN(v4lelement) \ - if (v4lelement->video_fd <= 0) \ - { \ - gst_element_error(GST_ELEMENT(v4lelement), \ - "Device is not open"); \ - return FALSE; \ +#define GST_V4L_CHECK_OPEN(v4lelement) \ + if (v4lelement->video_fd <= 0) \ + { \ + gst_element_error (v4lelement, RESOURCE, TOO_LAZY, \ + (_("Device is not open")), NULL); \ + return FALSE; \ } /* checks whether the current v4lelement is close()'ed or whether it is still open */ #define GST_V4L_CHECK_NOT_OPEN(v4lelement) \ if (v4lelement->video_fd != -1) \ { \ - gst_element_error(GST_ELEMENT(v4lelement), \ - "Device is open"); \ - return FALSE; \ + gst_element_error (v4lelement, RESOURCE, TOO_LAZY, \ + (_("Device is open")), NULL); \ + return FALSE; \ } /* checks whether the current v4lelement does video overlay */ #define GST_V4L_CHECK_OVERLAY(v4lelement) \ if (!(v4lelement->vcap.type & VID_TYPE_OVERLAY)) \ { \ - gst_element_error(GST_ELEMENT(v4lelement), \ - "Device doesn't do overlay"); \ - return FALSE; \ + gst_element_error (v4lelement, RESOURCE, TOO_LAZY, \ + NULL, ("Device cannot handle overlay")); \ + return FALSE; \ } /* checks whether we're in capture mode or not */ #define GST_V4L_CHECK_ACTIVE(v4lelement) \ if (v4lelement->buffer == NULL) \ { \ - gst_element_error(GST_ELEMENT(v4lelement), \ - "Device is not in streaming mode"); \ + gst_element_error (v4lelement, RESOURCE, SETTINGS, \ + NULL, ("Device is not in streaming mode")); \ return FALSE; \ } @@ -78,8 +79,8 @@ extern "C" { #define GST_V4L_CHECK_NOT_ACTIVE(v4lelement) \ if (v4lelement->buffer != NULL) \ { \ - gst_element_error(GST_ELEMENT(v4lelement), \ - "Device is in streaming mode"); \ + gst_element_error (v4lelement, RESOURCE, SETTINGS, \ + NULL, ("Device is in streaming mode")); \ return FALSE; \ } diff --git a/sys/v4l/v4lmjpegsink_calls.c b/sys/v4l/v4lmjpegsink_calls.c index c85dce559a..de10d79f77 100644 --- a/sys/v4l/v4lmjpegsink_calls.c +++ b/sys/v4l/v4lmjpegsink_calls.c @@ -80,9 +80,9 @@ gst_v4lmjpegsink_sync_thread (void *arg) if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_SYNC, &(v4lmjpegsink->bsync)) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Failed to sync on frame %d: %s", - frame, g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, SYNC, NULL, + ("Failed to sync on frame %d: %s", + frame, g_strerror (errno))); g_mutex_lock(v4lmjpegsink->mutex_queued_frames); v4lmjpegsink->isqueued_queued_frames[frame] = -1; g_cond_broadcast(v4lmjpegsink->cond_queued_frames[frame]); @@ -94,8 +94,8 @@ gst_v4lmjpegsink_sync_thread (void *arg) /* be sure that we're not confusing */ if (frame != v4lmjpegsink->bsync.frame) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Internal error: frame number confusion"); + gst_element_error (v4lmjpegsink, CORE, TOO_LAZY, NULL, + ("Internal error: frame number confusion")); goto end; } g_mutex_lock(v4lmjpegsink->mutex_queued_frames); @@ -129,9 +129,9 @@ gst_v4lmjpegsink_queue_frame (GstV4lMjpegSink *v4lmjpegsink, /* queue on this frame */ if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_QBUF_PLAY, &num) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Failed to queue frame %d: %s", - num, g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, WRITE, NULL, + ("Failed to queue frame %d: %s", + num, g_strerror(errno))); return FALSE; } @@ -226,9 +226,7 @@ gst_v4lmjpegsink_set_playback (GstV4lMjpegSink *v4lmjpegsink, if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_G_PARAMS, &bparm) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Error getting playback parameters: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, SETTINGS, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -244,9 +242,9 @@ gst_v4lmjpegsink_set_playback (GstV4lMjpegSink *v4lmjpegsink, if (width > mw || height > mh) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Video dimensions (%dx%d) are larger than device max (%dx%d)", - width, height, mw, mh); + gst_element_error (v4lmjpegsink, RESOURCE, TOO_LAZY, NULL, + ("Video dimensions (%dx%d) are larger than device max (%dx%d)", + width, height, mw, mh)); return FALSE; } @@ -274,9 +272,9 @@ gst_v4lmjpegsink_set_playback (GstV4lMjpegSink *v4lmjpegsink, { if (height > mh/2) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Video dimensions (%dx%d) too large for non-interlaced playback (%dx%d)", - width, height, mw, mh/2); + gst_element_error (v4lmjpegsink, RESOURCE, TOO_LAZY, NULL, + ("Video dimensions (%dx%d) too large for non-interlaced playback (%dx%d)", + width, height, mw, mh/2)); return FALSE; } @@ -321,9 +319,7 @@ gst_v4lmjpegsink_set_playback (GstV4lMjpegSink *v4lmjpegsink, if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_S_PARAMS, &bparm) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Error setting playback parameters: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, SETTINGS, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -349,9 +345,7 @@ gst_v4lmjpegsink_playback_init (GstV4lMjpegSink *v4lmjpegsink) /* Request buffers */ if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_REQBUFS, &(v4lmjpegsink->breq)) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Error requesting video buffers: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, READ, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -364,9 +358,9 @@ gst_v4lmjpegsink_playback_init (GstV4lMjpegSink *v4lmjpegsink) PROT_READ|PROT_WRITE, MAP_SHARED, GST_V4LELEMENT(v4lmjpegsink)->video_fd, 0); if (GST_V4LELEMENT(v4lmjpegsink)->buffer == MAP_FAILED) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Error mapping video buffers: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, TOO_LAZY, NULL, + ("Error mapping video buffers: %s", + g_strerror(errno))); GST_V4LELEMENT(v4lmjpegsink)->buffer = NULL; return FALSE; } @@ -377,18 +371,18 @@ gst_v4lmjpegsink_playback_init (GstV4lMjpegSink *v4lmjpegsink) malloc(sizeof(gint8) * v4lmjpegsink->breq.count); if (!v4lmjpegsink->isqueued_queued_frames) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Failed to create queue tracker: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, TOO_LAZY, NULL, + ("Failed to create queue tracker: %s", + g_strerror(errno))); return FALSE; } v4lmjpegsink->cond_queued_frames = (GCond **) malloc(sizeof(GCond *) * v4lmjpegsink->breq.count); if (!v4lmjpegsink->cond_queued_frames) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Failed to create queue condition holders: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsink, RESOURCE, TOO_LAZY, NULL, + ("Failed to create queue condition holders: %s", + g_strerror(errno))); return FALSE; } for (n=0;nbreq.count;n++) @@ -425,8 +419,8 @@ gst_v4lmjpegsink_playback_start (GstV4lMjpegSink *v4lmjpegsink) gst_v4lmjpegsink_sync_thread, (void *) v4lmjpegsink, TRUE, &error); if(!v4lmjpegsink->thread_queued_frames) { - gst_element_error(GST_ELEMENT(v4lmjpegsink), - "Failed to create sync thread: %s", error->message); + gst_element_error (v4lmjpegsink, RESOURCE, TOO_LAZY, NULL, + ("Failed to create sync thread: %s", error->message)); return FALSE; } diff --git a/sys/v4l/v4lmjpegsrc_calls.c b/sys/v4l/v4lmjpegsrc_calls.c index 1db5a7c23c..f500f59e30 100644 --- a/sys/v4l/v4lmjpegsrc_calls.c +++ b/sys/v4l/v4lmjpegsrc_calls.c @@ -67,9 +67,9 @@ gst_v4lmjpegsrc_queue_frame (GstV4lMjpegSrc *v4lmjpegsrc, if (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_QBUF_CAPT, &num) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error queueing a buffer (%d): %s", - num, g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, READ, NULL, + ("Error queueing a buffer (%d): %s", + num, g_strerror(errno))); return FALSE; } @@ -99,9 +99,7 @@ gst_v4lmjpegsrc_sync_next_frame (GstV4lMjpegSrc *v4lmjpegsrc, while (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_SYNC, &(v4lmjpegsrc->bsync)) < 0) { if (errno != EINTR) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error syncing on a buffer: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, SYNC, NULL, GST_ERROR_SYSTEM); return FALSE; } DEBUG("Sync got interrupted"); @@ -163,9 +161,7 @@ gst_v4lmjpegsrc_set_capture (GstV4lMjpegSrc *v4lmjpegsrc, /* Query params for capture */ if (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_G_PARAMS, &bparm) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error getting video parameters: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, SETTINGS, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -191,9 +187,7 @@ gst_v4lmjpegsrc_set_capture (GstV4lMjpegSrc *v4lmjpegsrc, /* Set params for capture */ if (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_S_PARAMS, &bparm) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error setting video parameters: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, SETTINGS, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -237,9 +231,7 @@ gboolean gst_v4lmjpegsrc_set_capture_m (GstV4lMjpegSrc *v4lmjpegsrc, /* Query params for capture */ if (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_G_PARAMS, &bparm) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error getting video parameters: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, SETTINGS, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -274,23 +266,23 @@ gboolean gst_v4lmjpegsrc_set_capture_m (GstV4lMjpegSrc *v4lmjpegsrc, if (width + x_offset > maxwidth) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Image width+offset (%d) bigger than maximum (%d)", - width + x_offset, maxwidth); + gst_element_error (v4lmjpegsrc, RESOURCE, TOO_LAZY, NULL, + ("Image width+offset (%d) bigger than maximum (%d)", + width + x_offset, maxwidth)); return FALSE; } if ((width%(bparm.HorDcm*16))!=0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Image width (%d) not multiple of %d (required for JPEG)", - width, bparm.HorDcm*16); + gst_element_error (v4lmjpegsrc, STREAM, FORMAT, NULL, + ("Image width (%d) not multiple of %d (required for JPEG)", + width, bparm.HorDcm*16)); return FALSE; } if (height + y_offset > (norm==VIDEO_MODE_NTSC ? 480 : 576)) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Image height+offset (%d) bigger than maximum (%d)", - height + y_offset, (norm==VIDEO_MODE_NTSC ? 480 : 576)); + gst_element_error (v4lmjpegsrc, RESOURCE, TOO_LAZY, NULL, + ("Image height+offset (%d) bigger than maximum (%d)", + height + y_offset, (norm==VIDEO_MODE_NTSC ? 480 : 576))); return FALSE; } /* RJ: Image height must only be a multiple of 8, but geom_height @@ -298,9 +290,9 @@ gboolean gst_v4lmjpegsrc_set_capture_m (GstV4lMjpegSrc *v4lmjpegsrc, */ if ((height%(bparm.VerDcm*16))!=0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Image height (%d) not multiple of %d (required for JPEG)", - height, bparm.VerDcm*16); + gst_element_error (v4lmjpegsrc, STREAM, FORMAT, NULL, + ("Image height (%d) not multiple of %d (required for JPEG)", + height, bparm.VerDcm*16)); return FALSE; } @@ -321,9 +313,7 @@ gboolean gst_v4lmjpegsrc_set_capture_m (GstV4lMjpegSrc *v4lmjpegsrc, /* Set params for capture */ if (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_S_PARAMS, &bparm) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error setting video parameters: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, SETTINGS, NULL, GST_ERROR_SYSTEM); return FALSE; } @@ -348,17 +338,15 @@ gst_v4lmjpegsrc_capture_init (GstV4lMjpegSrc *v4lmjpegsrc) if (ioctl(GST_V4LELEMENT(v4lmjpegsrc)->video_fd, MJPIOC_REQBUFS, &(v4lmjpegsrc->breq)) < 0) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error requesting video buffers: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, READ, NULL, GST_ERROR_SYSTEM); return FALSE; } if (v4lmjpegsrc->breq.count < MIN_BUFFERS_QUEUED) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Too little buffers. We got %d, we want at least %d", - v4lmjpegsrc->breq.count, MIN_BUFFERS_QUEUED); + gst_element_error (v4lmjpegsrc, RESOURCE, READ, NULL, + ("Too little buffers. We got %ld, we want at least %d", + v4lmjpegsrc->breq.count, MIN_BUFFERS_QUEUED)); return FALSE; } @@ -383,9 +371,8 @@ gst_v4lmjpegsrc_capture_init (GstV4lMjpegSrc *v4lmjpegsrc) PROT_READ|PROT_WRITE, MAP_SHARED, GST_V4LELEMENT(v4lmjpegsrc)->video_fd, 0); if (GST_V4LELEMENT(v4lmjpegsrc)->buffer == MAP_FAILED) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Error mapping video buffers: %s", - g_strerror(errno)); + gst_element_error (v4lmjpegsrc, RESOURCE, TOO_LAZY, NULL, + ("Error mapping video buffers: %s", g_strerror (errno))); GST_V4LELEMENT(v4lmjpegsrc)->buffer = NULL; return FALSE; } @@ -526,10 +513,10 @@ gst_v4lmjpegsrc_requeue_frame (GstV4lMjpegSrc *v4lmjpegsrc, g_mutex_lock(v4lmjpegsrc->mutex_queue_state); if (v4lmjpegsrc->frame_queue_state[num] != QUEUE_STATE_SYNCED) { - gst_element_error(GST_ELEMENT(v4lmjpegsrc), - "Invalid state %d (expected %d), can't requeue", + gst_element_error (v4lmjpegsrc, RESOURCE, TOO_LAZY, NULL, + ("Invalid state %d (expected %d), can't requeue", v4lmjpegsrc->frame_queue_state[num], - QUEUE_STATE_SYNCED); + QUEUE_STATE_SYNCED)); return FALSE; } diff --git a/sys/v4l/v4lsrc_calls.c b/sys/v4l/v4lsrc_calls.c index bc265c39c5..1caa597f36 100644 --- a/sys/v4l/v4lsrc_calls.c +++ b/sys/v4l/v4lsrc_calls.c @@ -95,9 +95,8 @@ gst_v4lsrc_queue_frame (GstV4lSrc *v4lsrc, if (ioctl(GST_V4LELEMENT(v4lsrc)->video_fd, VIDIOCMCAPTURE, &(v4lsrc->mmap)) < 0) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Error queueing a buffer (%d): %s", - num, g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, WRITE, NULL, + ("Error queueing a buffer (%d): %s", num, g_strerror (errno))); return FALSE; } @@ -126,9 +125,7 @@ gst_v4lsrc_sync_frame (GstV4lSrc *v4lsrc, gint num) /* if the sync() got interrupted, we can retry */ if (errno != EINTR) { v4lsrc->frame_queue_state[num] = QUEUE_STATE_ERROR; - gst_element_error(GST_ELEMENT(v4lsrc), - "Error syncing on a buffer (%d): %s", - num, g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, SYNC, NULL, GST_ERROR_SYSTEM); return FALSE; } DEBUG("Sync got interrupted"); @@ -190,17 +187,16 @@ gst_v4lsrc_capture_init (GstV4lSrc *v4lsrc) /* request buffer info */ if (ioctl(GST_V4LELEMENT(v4lsrc)->video_fd, VIDIOCGMBUF, &(v4lsrc->mbuf)) < 0) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Error getting buffer information: %s", - g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, READ, NULL, + ("Error getting buffer information: %s", g_strerror (errno))); return FALSE; } if (v4lsrc->mbuf.frames < MIN_BUFFERS_QUEUED) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Too little buffers. We got %d, we want at least %d", - v4lsrc->mbuf.frames, MIN_BUFFERS_QUEUED); + gst_element_error (v4lsrc, RESOURCE, READ, NULL, + ("Not enough buffers. We got %d, we want at least %d", + v4lsrc->mbuf.frames, MIN_BUFFERS_QUEUED)); return FALSE; } @@ -225,9 +221,8 @@ gst_v4lsrc_capture_init (GstV4lSrc *v4lsrc) PROT_READ|PROT_WRITE, MAP_SHARED, GST_V4LELEMENT(v4lsrc)->video_fd, 0); if (GST_V4LELEMENT(v4lsrc)->buffer == MAP_FAILED) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Error mapping video buffers: %s", - g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, TOO_LAZY, NULL, + ("Error mapping video buffers: %s", g_strerror (errno))); GST_V4LELEMENT(v4lsrc)->buffer = NULL; return FALSE; } @@ -364,10 +359,10 @@ gst_v4lsrc_requeue_frame (GstV4lSrc *v4lsrc, gint num) g_mutex_lock(v4lsrc->mutex_queue_state); if (v4lsrc->frame_queue_state[num] != QUEUE_STATE_SYNCED) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Invalid state %d (expected %d), can't requeue", + gst_element_error (v4lsrc, RESOURCE, TOO_LAZY, NULL, + ("Invalid state %d (expected %d), can't requeue", v4lsrc->frame_queue_state[num], - QUEUE_STATE_SYNCED); + QUEUE_STATE_SYNCED)); return FALSE; } @@ -478,9 +473,8 @@ gst_v4lsrc_try_palette (GstV4lSrc *v4lsrc, /* let's start by requesting a buffer and mmap()'ing it */ if (ioctl(GST_V4LELEMENT(v4lsrc)->video_fd, VIDIOCGMBUF, &vmbuf) < 0) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Error getting buffer information: %s", - g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, READ, NULL, + ("Error getting buffer information: %s", g_strerror(errno))); return FALSE; } /* Map the buffers */ @@ -488,9 +482,8 @@ gst_v4lsrc_try_palette (GstV4lSrc *v4lsrc, MAP_SHARED, GST_V4LELEMENT(v4lsrc)->video_fd, 0); if (buffer == MAP_FAILED) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Error mapping our try-out buffer: %s", - g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, TOO_LAZY, NULL, + ("Error mapping our try-out buffer: %s", g_strerror(errno))); return FALSE; } @@ -502,18 +495,15 @@ gst_v4lsrc_try_palette (GstV4lSrc *v4lsrc, if (ioctl(GST_V4LELEMENT(v4lsrc)->video_fd, VIDIOCMCAPTURE, &vmmap) < 0) { if (errno != EINVAL) /* our format failed! */ - gst_element_error(GST_ELEMENT(v4lsrc), - "Error queueing our try-out buffer: %s", - g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, TOO_LAZY, NULL, + ("Error queueing our try-out buffer: %s", g_strerror(errno))); munmap(buffer, vmbuf.size); return FALSE; } if (ioctl(GST_V4LELEMENT(v4lsrc)->video_fd, VIDIOCSYNC, &frame) < 0) { - gst_element_error(GST_ELEMENT(v4lsrc), - "Error syncing on a buffer (%d): %s", - frame, g_strerror(errno)); + gst_element_error (v4lsrc, RESOURCE, SYNC, NULL, GST_ERROR_SYSTEM); munmap(buffer, vmbuf.size); return FALSE; } diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index d491adffa9..2a31436e29 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -449,7 +449,8 @@ gst_ximagesink_xcontext_get (GstXImageSink *ximagesink) { g_mutex_unlock (ximagesink->x_lock); g_free (xcontext); - gst_element_error (GST_ELEMENT (ximagesink), "Could not open display"); + gst_element_error (ximagesink, RESOURCE, TOO_LAZY, NULL, + ("Could not open display")); return NULL; } @@ -748,7 +749,7 @@ gst_ximagesink_chain (GstPad *pad, GstData *data) else /* No image available. Something went wrong during capsnego ! */ { gst_buffer_unref (buf); - gst_element_error (GST_ELEMENT (ximagesink), "no image to draw"); + gst_element_error (ximagesink, CORE, NEGOTIATION, NULL, ("no format defined before chain function")); return; } } diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index 00951d7b59..5b39fad082 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -634,7 +634,8 @@ gst_xvimagesink_xcontext_get (GstXvImageSink *xvimagesink) { g_mutex_unlock (xvimagesink->x_lock); g_free (xcontext); - gst_element_error (GST_ELEMENT (xvimagesink), "Could not open display"); + gst_element_error (xvimagesink, RESOURCE, TOO_LAZY, NULL, + ("Could not open display")); return NULL; } @@ -1036,7 +1037,7 @@ gst_xvimagesink_chain (GstPad *pad, GstData *data) else /* No image available. Something went wrong during capsnego ! */ { gst_buffer_unref (buf); - gst_element_error (GST_ELEMENT (xvimagesink), "no image to draw"); + gst_element_error (xvimagesink, CORE, NEGOTIATION, NULL, ("no format defined before chain function")); return; } } diff --git a/tests/old/examples/gstplay/player.c b/tests/old/examples/gstplay/player.c index 5d4f246638..094cab56ef 100644 --- a/tests/old/examples/gstplay/player.c +++ b/tests/old/examples/gstplay/player.c @@ -115,7 +115,7 @@ main (int argc, char *argv[]) /* Getting default audio and video plugins from GConf */ audio_sink = gst_element_factory_make ("osssink", "audio_sink"); - video_sink = gst_element_factory_make ("xvimagesink", "video_sink"); + video_sink = gst_element_factory_make ("ximagesink", "video_sink"); vis_element = gst_element_factory_make ("goom", "vis_element"); data_src = gst_element_factory_make ("gnomevfssrc", "source");