[rhythmbox] encoder: add destination uri to the 'completed' signal
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] encoder: add destination uri to the 'completed' signal
- Date: Sun, 5 Aug 2018 22:31:33 +0000 (UTC)
commit 9f2a50bd56062e4b7abec62484304f99e7d9ce64
Author: Jonathan Matthew <jonathan d14n org>
Date: Mon Aug 6 06:59:41 2018 +1000
encoder: add destination uri to the 'completed' signal
backends/gstreamer/rb-encoder-gst.c | 6 +++++-
backends/rb-encoder.c | 7 ++++---
backends/rb-encoder.h | 2 +-
shell/rb-track-transfer-batch.c | 16 +++++++++-------
4 files changed, 19 insertions(+), 12 deletions(-)
---
diff --git a/backends/gstreamer/rb-encoder-gst.c b/backends/gstreamer/rb-encoder-gst.c
index ff6f634ad..b0ab7b7e5 100644
--- a/backends/gstreamer/rb-encoder-gst.c
+++ b/backends/gstreamer/rb-encoder-gst.c
@@ -133,7 +133,11 @@ rb_encoder_gst_emit_completed (RBEncoderGst *encoder)
}
encoder->priv->completion_emitted = TRUE;
- _rb_encoder_emit_completed (RB_ENCODER (encoder), encoder->priv->dest_size,
encoder->priv->dest_media_type, encoder->priv->error);
+ _rb_encoder_emit_completed (RB_ENCODER (encoder),
+ encoder->priv->dest_uri,
+ encoder->priv->dest_size,
+ encoder->priv->dest_media_type,
+ encoder->priv->error);
}
static void
diff --git a/backends/rb-encoder.c b/backends/rb-encoder.c
index 181415114..5aff4a648 100644
--- a/backends/rb-encoder.c
+++ b/backends/rb-encoder.c
@@ -135,6 +135,7 @@ rb_encoder_interface_init (RBEncoderIface *iface)
/**
* RBEncoder::completed:
* @encoder: the #RBEncoder instance
+ * @dest_uri: destination URI
* @dest_size: size of the output file
* @mediatype: output media type
* @error: encoding error, or NULL if successful
@@ -150,7 +151,7 @@ rb_encoder_interface_init (RBEncoderIface *iface)
G_STRUCT_OFFSET (RBEncoderIface, completed),
NULL, NULL, NULL,
G_TYPE_NONE,
- 3, G_TYPE_UINT64, G_TYPE_STRING, G_TYPE_POINTER);
+ 4, G_TYPE_STRING, G_TYPE_UINT64, G_TYPE_STRING, G_TYPE_POINTER);
}
GType
@@ -278,9 +279,9 @@ _rb_encoder_emit_progress (RBEncoder *encoder, double fraction)
}
void
-_rb_encoder_emit_completed (RBEncoder *encoder, guint64 dest_size, const char *mediatype, GError *error)
+_rb_encoder_emit_completed (RBEncoder *encoder, const char *dest_uri, guint64 dest_size, const char
*mediatype, GError *error)
{
- g_signal_emit (encoder, signals[COMPLETED], 0, dest_size, mediatype, error);
+ g_signal_emit (encoder, signals[COMPLETED], 0, dest_uri, dest_size, mediatype, error);
}
void
diff --git a/backends/rb-encoder.h b/backends/rb-encoder.h
index 9a774158c..643a925a0 100644
--- a/backends/rb-encoder.h
+++ b/backends/rb-encoder.h
@@ -125,7 +125,7 @@ gboolean rb_encoder_get_missing_plugins (RBEncoder *encoder,
/* only to be used by subclasses */
void _rb_encoder_emit_progress (RBEncoder *encoder, double fraction);
-void _rb_encoder_emit_completed (RBEncoder *encoder, guint64 dest_size, const char *mediatype, GError
*error);
+void _rb_encoder_emit_completed (RBEncoder *encoder, const char *uri, guint64 dest_size, const char
*mediatype, GError *error);
void _rb_encoder_emit_prepare_source (RBEncoder *encoder, const char *uri, GObject *source);
void _rb_encoder_emit_prepare_sink (RBEncoder *encoder, const char *uri, GObject *sink);
diff --git a/shell/rb-track-transfer-batch.c b/shell/rb-track-transfer-batch.c
index 8c08d0864..107cb414c 100644
--- a/shell/rb-track-transfer-batch.c
+++ b/shell/rb-track-transfer-batch.c
@@ -82,6 +82,7 @@ static void rb_track_transfer_batch_task_progress_init (RBTaskProgressInterface
static gboolean start_next (RBTrackTransferBatch *batch);
static void start_encoding (RBTrackTransferBatch *batch, gboolean overwrite);
static void track_transfer_completed (RBTrackTransferBatch *batch,
+ const char *dest_uri,
guint64 dest_size,
const char *mediatype,
gboolean skipped,
@@ -473,7 +474,7 @@ _rb_track_transfer_batch_continue (RBTrackTransferBatch *batch, gboolean overwri
if (overwrite) {
start_encoding (batch, TRUE);
} else {
- track_transfer_completed (batch, 0, NULL, TRUE, NULL);
+ track_transfer_completed (batch, NULL, 0, NULL, TRUE, NULL);
}
}
@@ -507,6 +508,7 @@ encoder_progress_cb (RBEncoder *encoder, double fraction, RBTrackTransferBatch *
static void
track_transfer_completed (RBTrackTransferBatch *batch,
+ const char *dest_uri,
guint64 dest_size,
const char *mediatype,
gboolean skipped,
@@ -531,7 +533,7 @@ track_transfer_completed (RBTrackTransferBatch *batch,
if (skipped == FALSE) {
g_signal_emit (batch, signals[TRACK_DONE], 0,
entry,
- batch->priv->current_dest_uri,
+ dest_uri,
dest_size,
mediatype,
error);
@@ -545,6 +547,7 @@ track_transfer_completed (RBTrackTransferBatch *batch,
static void
encoder_completed_cb (RBEncoder *encoder,
+ const char *dest_uri,
guint64 dest_size,
const char *mediatype,
GError *error,
@@ -556,15 +559,14 @@ encoder_completed_cb (RBEncoder *encoder,
if (error == NULL) {
rb_debug ("encoder finished (size %" G_GUINT64_FORMAT ")", dest_size);
} else if (g_error_matches (error, RB_ENCODER_ERROR, RB_ENCODER_ERROR_DEST_EXISTS)) {
- rb_debug ("encoder stopped because destination %s already exists",
- batch->priv->current_dest_uri);
- g_signal_emit (batch, signals[OVERWRITE_PROMPT], 0, batch->priv->current_dest_uri);
+ rb_debug ("encoder stopped because destination %s already exists", dest_uri);
+ g_signal_emit (batch, signals[OVERWRITE_PROMPT], 0, dest_uri);
return;
} else {
rb_debug ("encoder finished (error: %s)", error->message);
}
- track_transfer_completed (batch, dest_size, mediatype, FALSE, error);
+ track_transfer_completed (batch, dest_uri, dest_size, mediatype, FALSE, error);
}
static char *
@@ -651,7 +653,7 @@ create_parent_dirs_cb (GObject *source_object, GAsyncResult *result, gpointer da
g_task_run_in_thread (task, create_parent_dirs_task);
} else {
rb_debug ("failed to create parent directories for %s",
batch->priv->current_dest_uri);
- track_transfer_completed (batch, 0, NULL, FALSE, error);
+ track_transfer_completed (batch, NULL, 0, NULL, FALSE, error);
}
} else {
rb_debug ("parent directories for %s created", batch->priv->current_dest_uri);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]