Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 675689 Details for
Bug 861191
brasero ignores/discards ISRC
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
[PATCH] Switch BRASERO_TRACK_STREAM_ISRC_TAG from int to string
0001-Switch-BRASERO_TRACK_STREAM_ISRC_TAG-from-int-to-str.patch (text/plain), 22.18 KB, created by
Tomáš Bžatek
on 2013-01-09 15:44:26 UTC
(
hide
)
Description:
[PATCH] Switch BRASERO_TRACK_STREAM_ISRC_TAG from int to string
Filename:
MIME Type:
Creator:
Tomáš Bžatek
Created:
2013-01-09 15:44:26 UTC
Size:
22.18 KB
patch
obsolete
>From d0d11bd12837ec915e4f8cc7a2af315a1d7a5eff Mon Sep 17 00:00:00 2001 >From: Tomas Bzatek <tbzatek@redhat.com> >Date: Wed, 9 Jan 2013 16:34:56 +0100 >Subject: [PATCH] Switch BRASERO_TRACK_STREAM_ISRC_TAG from int to string >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >ISRC is alphanumerical code, not necessarily numerical only. >See http://en.wikipedia.org/wiki/International_Standard_Recording_Code >or cdrecord(1): > > ISRC= The International Standard Recording Code (ISRC) is a 12 > byte string that is created from two uppercase characters > for the country code, followed by three uppercase characâ > ters for the owner, followed by two digits for the year > of recording followed by five digits for the recording > serial number. > >Beware that there's no input format checking, invalid string may lead >to burning errors. > >https://bugzilla.redhat.com/show_bug.cgi?id=861191 >--- > libbrasero-burn/brasero-tags.h | 2 +- > libbrasero-burn/brasero-track-stream-cfg.c | 10 +++++----- > libbrasero-utils/brasero-io.c | 4 +++- > libbrasero-utils/brasero-metadata.c | 14 +++++++++----- > libbrasero-utils/brasero-metadata.h | 2 +- > plugins/audio2cue/burn-audio2cue.c | 8 ++++---- > plugins/cdrkit/burn-wodim.c | 7 +++---- > plugins/cdrtools/burn-cdrecord.c | 7 +++---- > plugins/transcode/burn-transcode.c | 8 ++++---- > src/brasero-audio-disc.c | 24 +++++++++++++----------- > src/brasero-multi-song-props.c | 6 +++--- > src/brasero-multi-song-props.h | 2 +- > src/brasero-project-parse.c | 27 +++++++++++++++------------ > src/brasero-song-properties.c | 23 ++++++----------------- > src/brasero-song-properties.h | 4 ++-- > src/brasero-video-disc.c | 23 +++++++++++++---------- > 16 files changed, 86 insertions(+), 85 deletions(-) > >diff --git a/libbrasero-burn/brasero-tags.h b/libbrasero-burn/brasero-tags.h >index 31a844d..c04f0a9 100644 >--- a/libbrasero-burn/brasero-tags.h >+++ b/libbrasero-burn/brasero-tags.h >@@ -56,6 +56,7 @@ G_BEGIN_DECLS > #define BRASERO_TRACK_STREAM_COMPOSER_TAG "track::stream::info::composer" > #define BRASERO_TRACK_STREAM_ARTIST_TAG "track::stream::info::artist" > #define BRASERO_TRACK_STREAM_ALBUM_TAG "track::stream::info::album" >+#define BRASERO_TRACK_STREAM_ISRC_TAG "track::stream::info::isrc" > #define BRASERO_TRACK_STREAM_THUMBNAIL_TAG "track::stream::snapshot" > #define BRASERO_TRACK_STREAM_MIME_TAG "track::stream::mime" > >@@ -63,7 +64,6 @@ G_BEGIN_DECLS > * Int > */ > >-#define BRASERO_TRACK_STREAM_ISRC_TAG "track::stream::info::isrc" > > /** > * This tag (for sessions) is used to set an estimated size, used to determine >diff --git a/libbrasero-burn/brasero-track-stream-cfg.c b/libbrasero-burn/brasero-track-stream-cfg.c >index 9d53dd6..2699b6f 100644 >--- a/libbrasero-burn/brasero-track-stream-cfg.c >+++ b/libbrasero-burn/brasero-track-stream-cfg.c >@@ -299,11 +299,11 @@ brasero_track_stream_cfg_results_cb (GObject *obj, > brasero_track_tag_add_string (BRASERO_TRACK (obj), > BRASERO_TRACK_STREAM_COMPOSER_TAG, > g_file_info_get_attribute_string (info, BRASERO_IO_COMPOSER)); >- if (g_file_info_get_attribute_int32 (info, BRASERO_IO_ISRC) >- && !brasero_track_tag_lookup_int (BRASERO_TRACK (obj), BRASERO_TRACK_STREAM_ISRC_TAG)) >- brasero_track_tag_add_int (BRASERO_TRACK (obj), >- BRASERO_TRACK_STREAM_ISRC_TAG, >- g_file_info_get_attribute_int32 (info, BRASERO_IO_ISRC)); >+ if (g_file_info_get_attribute_string (info, BRASERO_IO_ISRC) >+ && !brasero_track_tag_lookup_string (BRASERO_TRACK (obj), BRASERO_TRACK_STREAM_ISRC_TAG)) >+ brasero_track_tag_add_string (BRASERO_TRACK (obj), >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ g_file_info_get_attribute_string (info, BRASERO_IO_ISRC)); > > /* Start monitoring it */ > file = g_file_new_for_uri (uri); >diff --git a/libbrasero-utils/brasero-io.c b/libbrasero-utils/brasero-io.c >index 6124848..5619359 100644 >--- a/libbrasero-utils/brasero-io.c >+++ b/libbrasero-utils/brasero-io.c >@@ -836,7 +836,6 @@ static void > brasero_io_set_metadata_attributes (GFileInfo *info, > BraseroMetadataInfo *metadata) > { >- g_file_info_set_attribute_int32 (info, BRASERO_IO_ISRC, metadata->isrc); > g_file_info_set_attribute_uint64 (info, BRASERO_IO_LEN, metadata->len); > > if (metadata->type) >@@ -857,6 +856,9 @@ brasero_io_set_metadata_attributes (GFileInfo *info, > if (metadata->composer) > g_file_info_set_attribute_string (info, BRASERO_IO_COMPOSER, metadata->composer); > >+ if (metadata->isrc) >+ g_file_info_set_attribute_string (info, BRASERO_IO_ISRC, metadata->isrc); >+ > g_file_info_set_attribute_boolean (info, BRASERO_IO_HAS_AUDIO, metadata->has_audio); > if (metadata->has_audio) { > if (metadata->channels) >diff --git a/libbrasero-utils/brasero-metadata.c b/libbrasero-utils/brasero-metadata.c >index 1088121..8175dbc 100644 >--- a/libbrasero-utils/brasero-metadata.c >+++ b/libbrasero-utils/brasero-metadata.c >@@ -186,6 +186,9 @@ brasero_metadata_info_clear (BraseroMetadataInfo *info) > if (info->musicbrainz_id) > g_free (info->musicbrainz_id); > >+ if (info->isrc) >+ g_free (info->isrc); >+ > if (info->silences) { > g_slist_foreach (info->silences, (GFunc) g_free, NULL); > g_slist_free (info->silences); >@@ -216,7 +219,6 @@ brasero_metadata_info_copy (BraseroMetadataInfo *dest, > dest->has_dts = src->has_dts; > dest->rate = src->rate; > dest->channels = src->channels; >- dest->isrc = src->isrc; > dest->len = src->len; > dest->is_seekable = src->is_seekable; > dest->has_audio = src->has_audio; >@@ -243,6 +245,9 @@ brasero_metadata_info_copy (BraseroMetadataInfo *dest, > if (src->musicbrainz_id) > dest->musicbrainz_id = g_strdup (src->musicbrainz_id); > >+ if (src->isrc) >+ dest->isrc = g_strdup (src->isrc); >+ > if (src->snapshot) { > dest->snapshot = src->snapshot; > g_object_ref (dest->snapshot); >@@ -943,11 +948,10 @@ foreach_tag (const GstTagList *list, > gst_tag_list_get_string (list, tag, &(self->composer)); > } > */ else if (!strcmp (tag, GST_TAG_ISRC)) { >- gchar *isrc = NULL; >- gst_tag_list_get_string (list, tag, &isrc); >+ if (priv->info->isrc) >+ g_free (priv->info->isrc); > >- if (isrc) >- priv->info->isrc = (int) g_ascii_strtoull (isrc, NULL, 10); >+ gst_tag_list_get_string (list, tag, &(priv->info->isrc)); > } > else if (!strcmp (tag, GST_TAG_MUSICBRAINZ_TRACKID)) { > gst_tag_list_get_string (list, tag, &(priv->info->musicbrainz_id)); >diff --git a/libbrasero-utils/brasero-metadata.h b/libbrasero-utils/brasero-metadata.h >index 8799642..eca95b4 100644 >--- a/libbrasero-utils/brasero-metadata.h >+++ b/libbrasero-utils/brasero-metadata.h >@@ -69,7 +69,7 @@ typedef struct { > gchar *genre; > gchar *composer; > gchar *musicbrainz_id; >- int isrc; >+ gchar *isrc; > guint64 len; > > gint channels; >diff --git a/plugins/audio2cue/burn-audio2cue.c b/plugins/audio2cue/burn-audio2cue.c >index d601053..a9cf17d 100644 >--- a/plugins/audio2cue/burn-audio2cue.c >+++ b/plugins/audio2cue/burn-audio2cue.c >@@ -455,7 +455,6 @@ brasero_audio2cue_create_thread (gpointer data) > tracks = NULL; > brasero_job_get_tracks (data, &tracks); > for (; tracks; tracks = tracks->next) { >- int isrc; > guint64 gap; > guint64 len; > gchar *string; >@@ -463,6 +462,7 @@ brasero_audio2cue_create_thread (gpointer data) > BraseroTrack *track; > const gchar *performer; > const gchar *songwriter; >+ const gchar *isrc; > > track = tracks->data; > >@@ -527,9 +527,9 @@ brasero_audio2cue_create_thread (gpointer data) > g_free (line); > } > >- isrc = brasero_track_tag_lookup_int (track, BRASERO_TRACK_STREAM_ISRC_TAG); >- if (isrc > 0) { >- line = g_strdup_printf ("\tISRC %i\n", isrc); >+ isrc = brasero_track_tag_lookup_string (track, BRASERO_TRACK_STREAM_ISRC_TAG); >+ if (isrc) { >+ line = g_strdup_printf ("\tISRC \"%s\"\n", isrc); > if (write (fd_out, line, strlen (line)) < 0) { > int err_saved = errno; > priv->error = g_error_new_literal (BRASERO_BURN_ERROR, >diff --git a/plugins/cdrkit/burn-wodim.c b/plugins/cdrkit/burn-wodim.c >index c0477c8..be7e5b9 100644 >--- a/plugins/cdrkit/burn-wodim.c >+++ b/plugins/cdrkit/burn-wodim.c >@@ -438,7 +438,6 @@ brasero_wodim_write_inf (BraseroWodim *wodim, > GError **error) > { > gint fd; >- int isrc; > gint size; > int errsv; > gchar *path; >@@ -514,9 +513,9 @@ brasero_wodim_write_inf (BraseroWodim *wodim, > goto error; > > /* ISRC */ >- isrc = brasero_track_tag_lookup_int (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG); >- if (isrc > 0) >- string = g_strdup_printf ("ISRC=\t%i\n", isrc); >+ info = brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG); >+ if (info) >+ string = g_strdup_printf ("ISRC=\t%s\n", info); > else > string = g_strdup ("ISRC=\t\n"); > size = strlen (string); >diff --git a/plugins/cdrtools/burn-cdrecord.c b/plugins/cdrtools/burn-cdrecord.c >index 92c23b3..89ba629 100644 >--- a/plugins/cdrtools/burn-cdrecord.c >+++ b/plugins/cdrtools/burn-cdrecord.c >@@ -424,7 +424,6 @@ brasero_cdrecord_write_inf (BraseroCDRecord *cdrecord, > GError **error) > { > gint fd; >- int isrc; > int errsv; > gint size; > gchar *path; >@@ -503,9 +502,9 @@ brasero_cdrecord_write_inf (BraseroCDRecord *cdrecord, > goto error; > > /* ISRC */ >- isrc = brasero_track_tag_lookup_int (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG); >- if (isrc > 0) >- string = g_strdup_printf ("ISRC=\t%i\n", isrc); >+ info = brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG); >+ if (info) >+ string = g_strdup_printf ("ISRC=\t%s\n", info); > else > string = g_strdup ("ISRC=\t\n"); > size = strlen (string); >diff --git a/plugins/transcode/burn-transcode.c b/plugins/transcode/burn-transcode.c >index a6a0f40..6076fc7 100644 >--- a/plugins/transcode/burn-transcode.c >+++ b/plugins/transcode/burn-transcode.c >@@ -1396,13 +1396,13 @@ foreach_tag (const GstTagList *list, > } > } > else if (!strcmp (tag, GST_TAG_ISRC)) { >- if (!brasero_track_tag_lookup_int (track, BRASERO_TRACK_STREAM_ISRC_TAG)) { >+ if (!brasero_track_tag_lookup_string (track, BRASERO_TRACK_STREAM_ISRC_TAG)) { > gchar *isrc = NULL; > > gst_tag_list_get_string (list, tag, &isrc); >- brasero_track_tag_add_int (track, >- BRASERO_TRACK_STREAM_ISRC_TAG, >- (int) g_ascii_strtoull (isrc, NULL, 10)); >+ brasero_track_tag_add_string (track, >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ isrc); > } > } > else if (!strcmp (tag, GST_TAG_PERFORMER)) { >diff --git a/src/brasero-audio-disc.c b/src/brasero-audio-disc.c >index e2c49b8..b0dce92 100644 >--- a/src/brasero-audio-disc.c >+++ b/src/brasero-audio-disc.c >@@ -1477,7 +1477,6 @@ static void > brasero_audio_disc_edit_multi_song_properties (BraseroAudioDisc *disc, > GList *list) > { >- gint isrc; > gint64 gap; > GList *copy; > GList *item; >@@ -1487,6 +1486,7 @@ brasero_audio_disc_edit_multi_song_properties (BraseroAudioDisc *disc, > gchar *artist = NULL; > GtkResponseType result; > gchar *composer = NULL; >+ gchar *isrc = NULL; > > model = gtk_tree_view_get_model (GTK_TREE_VIEW (disc->priv->tree)); > toplevel = gtk_widget_get_toplevel (GTK_WIDGET (disc)); >@@ -1550,10 +1550,10 @@ brasero_audio_disc_edit_multi_song_properties (BraseroAudioDisc *disc, > BRASERO_TRACK_STREAM_COMPOSER_TAG, > composer); > >- if (isrc > 0) >- brasero_track_tag_add_int (BRASERO_TRACK (track), >- BRASERO_TRACK_STREAM_ISRC_TAG, >- isrc); >+ if (isrc) >+ brasero_track_tag_add_string (BRASERO_TRACK (track), >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ isrc); > > if (gap > -1) > brasero_track_stream_set_boundaries (BRASERO_TRACK_STREAM (track), >@@ -1564,6 +1564,7 @@ brasero_audio_disc_edit_multi_song_properties (BraseroAudioDisc *disc, > g_list_free (copy); > g_free (artist); > g_free (composer); >+ g_free (isrc); > > gtk_widget_destroy (props); > } >@@ -1573,7 +1574,6 @@ brasero_audio_disc_edit_single_song_properties (BraseroAudioDisc *disc, > GtkTreePath *treepath) > { > gint64 gap; >- gint isrc; > gint64 end; > gint64 start; > guint track_num; >@@ -1586,6 +1586,7 @@ brasero_audio_disc_edit_single_song_properties (BraseroAudioDisc *disc, > gchar *title; > gchar *artist; > gchar *composer; >+ gchar *isrc; > GtkTreeIter iter; > > model = gtk_tree_view_get_model (GTK_TREE_VIEW (disc->priv->tree)); >@@ -1607,7 +1608,7 @@ brasero_audio_disc_edit_single_song_properties (BraseroAudioDisc *disc, > brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ARTIST_TAG), > brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_TITLE_TAG), > brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_COMPOSER_TAG), >- brasero_track_tag_lookup_int (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG), >+ brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG), > length, > brasero_track_stream_get_start (BRASERO_TRACK_STREAM (track)), > brasero_track_stream_get_end (BRASERO_TRACK_STREAM (track)), >@@ -1657,10 +1658,10 @@ brasero_audio_disc_edit_single_song_properties (BraseroAudioDisc *disc, > BRASERO_TRACK_STREAM_COMPOSER_TAG, > composer); > >- if (isrc > 0) >- brasero_track_tag_add_int (BRASERO_TRACK (track), >- BRASERO_TRACK_STREAM_ISRC_TAG, >- isrc); >+ if (isrc) >+ brasero_track_tag_add_string (BRASERO_TRACK (track), >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ isrc); > > if (end - start + BRASERO_SECTORS_TO_DURATION (gap) < BRASERO_MIN_STREAM_LENGTH) > brasero_audio_disc_short_track_dialog (disc); >@@ -1668,6 +1669,7 @@ brasero_audio_disc_edit_single_song_properties (BraseroAudioDisc *disc, > g_free (title); > g_free (artist); > g_free (composer); >+ g_free (isrc); > gtk_widget_destroy (props); > } > >diff --git a/src/brasero-multi-song-props.c b/src/brasero-multi-song-props.c >index be2704e..823e22a 100644 >--- a/src/brasero-multi-song-props.c >+++ b/src/brasero-multi-song-props.c >@@ -77,7 +77,7 @@ void > brasero_multi_song_props_get_properties (BraseroMultiSongProps *self, > gchar **artist, > gchar **composer, >- gint *isrc, >+ gchar **isrc, > gint64 *gap) > { > const gchar *text; >@@ -103,9 +103,9 @@ brasero_multi_song_props_get_properties (BraseroMultiSongProps *self, > if (isrc) { > text = gtk_entry_get_text (GTK_ENTRY (priv->isrc)); > if (text && strcmp (text, _("<Keep current values>"))) >- *isrc = (gint) g_strtod (text, NULL); >+ *isrc = g_strdup (text); > else >- *isrc = -1; >+ *isrc = NULL; > } > > if (gap) >diff --git a/src/brasero-multi-song-props.h b/src/brasero-multi-song-props.h >index b7f4500..de34a73 100644 >--- a/src/brasero-multi-song-props.h >+++ b/src/brasero-multi-song-props.h >@@ -70,7 +70,7 @@ void > brasero_multi_song_props_get_properties (BraseroMultiSongProps *props, > gchar **artist, > gchar **composer, >- gint *isrc, >+ gchar **isrc, > gint64 *gap); > > G_END_DECLS >diff --git a/src/brasero-project-parse.c b/src/brasero-project-parse.c >index 5359678..b2a58a1 100644 >--- a/src/brasero-project-parse.c >+++ b/src/brasero-project-parse.c >@@ -330,18 +330,22 @@ _read_audio_track (xmlDocPtr project, > g_free (unescaped_composer); > } > else if (!xmlStrcmp (uris->name, (const xmlChar *) "isrc")) { >- gchar *isrc; >+ xmlChar *isrc; >+ gchar *unescaped_isrc; > >- isrc = (gchar *) xmlNodeListGetString (project, >- uris->xmlChildrenNode, >- 1); >+ isrc = xmlNodeListGetString (project, >+ uris->xmlChildrenNode, >+ 1); > if (!isrc) > goto error; > >- brasero_track_tag_add_int (BRASERO_TRACK (track), >- BRASERO_TRACK_STREAM_ISRC_TAG, >- (gint) g_ascii_strtod (isrc, NULL)); >+ unescaped_isrc = g_uri_unescape_string ((char *) isrc, NULL); > g_free (isrc); >+ >+ brasero_track_tag_add_string (BRASERO_TRACK (track), >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ unescaped_isrc); >+ g_free (unescaped_isrc); > } > else if (uris->type == XML_ELEMENT_NODE) > goto error; >@@ -626,7 +630,6 @@ _save_audio_track_xml (xmlTextWriter *project, > xmlChar *escaped; > gchar *start; > gint success; >- gchar *isrc; > gchar *uri; > gchar *end; > >@@ -709,13 +712,13 @@ _save_audio_track_xml (xmlTextWriter *project, > return FALSE; > } > >- if (brasero_track_tag_lookup_int (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG)) { >- isrc = g_strdup_printf ("%d", brasero_track_tag_lookup_int (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG)); >+ if (brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG)) { >+ escaped = (unsigned char *) g_uri_escape_string (brasero_track_tag_lookup_string (BRASERO_TRACK (track), BRASERO_TRACK_STREAM_ISRC_TAG), NULL, FALSE); > success = xmlTextWriterWriteElement (project, > (xmlChar *) "isrc", >- (xmlChar *) isrc); >+ escaped); > >- g_free (isrc); >+ g_free (escaped); > if (success == -1) > return FALSE; > } >diff --git a/src/brasero-song-properties.c b/src/brasero-song-properties.c >index ebbdc32..b8c8de2 100644 >--- a/src/brasero-song-properties.c >+++ b/src/brasero-song-properties.c >@@ -307,7 +307,7 @@ brasero_song_props_get_properties (BraseroSongProps *self, > gchar **artist, > gchar **title, > gchar **composer, >- gint *isrc, >+ gchar **isrc, > gint64 *start, > gint64 *end, > gint64 *gap) >@@ -333,15 +333,8 @@ brasero_song_props_get_properties (BraseroSongProps *self, > *composer = NULL; > } > >- if (isrc) { >- const gchar *string; >- >- string = brasero_song_props_get_entry_value (GTK_ENTRY (self->priv->isrc)); >- if (string) >- *isrc = (gint) g_strtod (string, NULL); >- else >- *isrc = 0; >- } >+ if (isrc) >+ *isrc = brasero_song_props_get_entry_value (GTK_ENTRY (self->priv->isrc)); > > if (start) > *start = brasero_time_button_get_value (BRASERO_TIME_BUTTON (self->priv->start)); >@@ -357,7 +350,7 @@ brasero_song_props_set_properties (BraseroSongProps *self, > const gchar *artist, > const gchar *title, > const gchar *composer, >- gint isrc, >+ const gchar *isrc, > gint64 length, > gint64 start, > gint64 end, >@@ -391,12 +384,8 @@ brasero_song_props_set_properties (BraseroSongProps *self, > gtk_entry_set_text (GTK_ENTRY (self->priv->title), title); > if (composer) > gtk_entry_set_text (GTK_ENTRY (self->priv->composer), composer); >- >- if (isrc) { >- string = g_strdup_printf ("%i", isrc); >- gtk_entry_set_text (GTK_ENTRY (self->priv->isrc), string); >- g_free (string); >- } >+ if (isrc) >+ gtk_entry_set_text (GTK_ENTRY (self->priv->isrc), isrc); > > if (gap > 0) { > secs = gap / GST_SECOND; >diff --git a/src/brasero-song-properties.h b/src/brasero-song-properties.h >index edb0ddb..997a49e 100644 >--- a/src/brasero-song-properties.h >+++ b/src/brasero-song-properties.h >@@ -60,7 +60,7 @@ brasero_song_props_get_properties (BraseroSongProps *self, > gchar **artist, > gchar **title, > gchar **composer, >- gint *isrc, >+ gchar **isrc, > gint64 *start, > gint64 *end, > gint64 *gap); >@@ -70,7 +70,7 @@ brasero_song_props_set_properties (BraseroSongProps *self, > const gchar *artist, > const gchar *title, > const gchar *composer, >- gint isrc, >+ const gchar *isrc, > gint64 length, > gint64 start, > gint64 end, >diff --git a/src/brasero-video-disc.c b/src/brasero-video-disc.c >index 3fa1134..d7c15b2 100644 >--- a/src/brasero-video-disc.c >+++ b/src/brasero-video-disc.c >@@ -623,7 +623,6 @@ static void > brasero_video_disc_edit_song_properties_list (BraseroVideoDisc *self, > GList *list) > { >- gint isrc; > GList *item; > GList *copy; > GtkWidget *props; >@@ -631,6 +630,7 @@ brasero_video_disc_edit_song_properties_list (BraseroVideoDisc *self, > GtkTreeModel *model; > gchar *artist = NULL; > gchar *composer = NULL; >+ gchar *isrc = NULL; > GtkResponseType result; > BraseroVideoDiscPrivate *priv; > >@@ -688,14 +688,15 @@ brasero_video_disc_edit_song_properties_list (BraseroVideoDisc *self, > BRASERO_TRACK_STREAM_COMPOSER_TAG, > composer); > >- brasero_track_tag_add_int (track, >- BRASERO_TRACK_STREAM_ISRC_TAG, >- isrc); >+ brasero_track_tag_add_string (track, >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ isrc); > } > > g_list_free (copy); > g_free (artist); > g_free (composer); >+ g_free (isrc); > end: > > gtk_widget_destroy (props); >@@ -705,12 +706,12 @@ static void > brasero_video_disc_edit_song_properties_file (BraseroVideoDisc *self, > BraseroTrack *track) > { >- gint isrc; > gint64 end; > gint64 start; > gchar *title; > gchar *artist; > gchar *composer; >+ gchar *isrc; > GtkWidget *props; > guint64 length = 0; > GtkWidget *toplevel; >@@ -726,7 +727,7 @@ brasero_video_disc_edit_song_properties_file (BraseroVideoDisc *self, > brasero_track_tag_lookup_string (track, BRASERO_TRACK_STREAM_ARTIST_TAG), > brasero_track_tag_lookup_string (track, BRASERO_TRACK_STREAM_TITLE_TAG), > brasero_track_tag_lookup_string (track, BRASERO_TRACK_STREAM_COMPOSER_TAG), >- brasero_track_tag_lookup_int (track, BRASERO_TRACK_STREAM_ISRC_TAG), >+ brasero_track_tag_lookup_string (track, BRASERO_TRACK_STREAM_ISRC_TAG), > length, > brasero_track_stream_get_start (BRASERO_TRACK_STREAM (track)), > brasero_track_stream_get_end (BRASERO_TRACK_STREAM (track)), >@@ -774,10 +775,12 @@ brasero_video_disc_edit_song_properties_file (BraseroVideoDisc *self, > g_free (composer); > } > >- if (isrc) >- brasero_track_tag_add_int (track, >- BRASERO_TRACK_STREAM_ISRC_TAG, >- isrc); >+ if (isrc) { >+ brasero_track_tag_add_string (track, >+ BRASERO_TRACK_STREAM_ISRC_TAG, >+ isrc); >+ g_free (isrc); >+ } > > brasero_track_stream_set_boundaries (BRASERO_TRACK_STREAM (track), > start, >-- >1.7.8.6 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 861191
: 675689