summaryrefslogtreecommitdiff
path: root/ext/curl/gstcurlsftpsink.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebrn@axis.com>2014-04-15 23:53:32 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-04-26 10:23:24 +0200
commitc75c7a9a53e1d2e34ba96600923a294651db7f89 (patch)
tree9a1d06df5cb4e49d8e7c4fa291d8dac1133c9cae /ext/curl/gstcurlsftpsink.c
parent13f87a1db19c137d5c31bec216472aee6bbcb299 (diff)
downloadgstreamer-plugins-bad-c75c7a9a53e1d2e34ba96600923a294651db7f89.tar.gz
curl*sink: post error on bus in element, not transfer thread
https://bugzilla.gnome.org/show_bug.cgi?id=728960
Diffstat (limited to 'ext/curl/gstcurlsftpsink.c')
-rw-r--r--ext/curl/gstcurlsftpsink.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/ext/curl/gstcurlsftpsink.c b/ext/curl/gstcurlsftpsink.c
index 2a68d3afc..831c11000 100644
--- a/ext/curl/gstcurlsftpsink.c
+++ b/ext/curl/gstcurlsftpsink.c
@@ -137,13 +137,14 @@ gst_curl_sftp_sink_finalize (GObject * gobject)
static gboolean
set_sftp_dynamic_options_unlocked (GstCurlBaseSink * basesink)
{
- GstCurlSftpSink *sink = GST_CURL_SFTP_SINK (basesink);
gchar *tmp = g_strdup_printf ("%s%s", basesink->url, basesink->file_name);
- gint curl_err = CURLE_OK;
+ CURLcode curl_err = CURLE_OK;
if ((curl_err =
curl_easy_setopt (basesink->curl, CURLOPT_URL, tmp)) != CURLE_OK) {
- GST_ERROR_OBJECT (sink, "curl error: %d setting URL to: %s", curl_err, tmp);
+ basesink->error = g_strdup_printf ("failed to set URL: %s",
+ curl_easy_strerror (curl_err));
+ return FALSE;
}
g_free (tmp);
@@ -156,19 +157,22 @@ set_sftp_options_unlocked (GstCurlBaseSink * basesink)
{
GstCurlSftpSink *sink = GST_CURL_SFTP_SINK (basesink);
GstCurlSshSinkClass *parent_class;
- gint curl_err = CURLE_OK;
+ CURLcode curl_err = CURLE_OK;
if ((curl_err =
curl_easy_setopt (basesink->curl, CURLOPT_UPLOAD, 1L)) != CURLE_OK) {
- GST_ERROR_OBJECT (sink, "curl error: %d setting CURLOPT_UPLOAD to 1",
- curl_err);
+ basesink->error = g_strdup_printf ("failed to prepare for upload: %s",
+ curl_easy_strerror (curl_err));
+ return FALSE;
}
if (sink->create_dirs) {
if ((curl_err = curl_easy_setopt (basesink->curl,
CURLOPT_FTP_CREATE_MISSING_DIRS, 1L)) != CURLE_OK) {
- GST_ERROR_OBJECT (sink,
- "curl error: %d setting FTP_CREATE_MISSING_DIRS to 1", curl_err);
+ basesink->error =
+ g_strdup_printf ("failed to set create missing dirs: %s",
+ curl_easy_strerror (curl_err));
+ return FALSE;
}
}