ext/flac/gstflacenc.c: handle tags correctly
authorBenjamin Otte <otte@gnome.org>
Wed, 14 Jan 2004 16:08:47 +0000 (16:08 +0000)
committerBenjamin Otte <otte@gnome.org>
Wed, 14 Jan 2004 16:08:47 +0000 (16:08 +0000)
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/flac/gstflacenc.c: (gst_flacenc_set_metadata),
(gst_flacenc_chain):
handle tags correctly
* gst/tags/gstid3tag.c: (gst_tag_list_new_from_id3v1):
extract ID3v1 tags correctly

ChangeLog
ext/flac/gstflacenc.c

index fce6d39..aafaea3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
+
+       * ext/flac/gstflacenc.c: (gst_flacenc_set_metadata),
+       (gst_flacenc_chain):
+         handle tags correctly
+       * gst/tags/gstid3tag.c: (gst_tag_list_new_from_id3v1):
+         extract ID3v1 tags correctly
+
 2004-01-14  Ronald Bultje  <rbultje@ronald.bitfreak.net>
 
        * gst/typefind/gsttypefindfunctions.c: (matroska_type_find),
index 8ecef64..4d5e19a 100644 (file)
@@ -503,9 +503,10 @@ gst_flacenc_set_metadata (FlacEnc *flacenc)
   flacenc->meta = g_malloc (sizeof (FLAC__StreamMetadata **));
 
   flacenc->meta[0] = FLAC__metadata_object_new (FLAC__METADATA_TYPE_VORBIS_COMMENT);
-  gst_tag_list_foreach ((GstTagList*)copy, add_one_tag, flacenc);
+  gst_tag_list_foreach (copy, add_one_tag, flacenc);
 
-  FLAC__seekable_stream_encoder_set_metadata(flacenc->encoder, flacenc->meta, 1);
+  if (FLAC__seekable_stream_encoder_set_metadata(flacenc->encoder, flacenc->meta, 1) != true)
+    g_warning ("Dude, i'm already initialized!");
   gst_tag_list_free (copy);
 }
 
@@ -534,8 +535,8 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
        break;
       case GST_EVENT_TAG:
        if (flacenc->tags) {
-         gst_tag_list_merge (flacenc->tags, gst_event_tag_get_list (event), 
-                 gst_tag_setter_get_merge_mode (GST_TAG_SETTER (flacenc)));
+         gst_tag_list_insert (flacenc->tags, gst_event_tag_get_list (event), 
+                 GST_TAG_MERGE_REPLACE);
        } else {
          g_assert_not_reached ();
        }