diff --git a/ChangeLog b/ChangeLog index 2e452b2f20..22e2e8d0c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-07-23 Tim-Philipp Müller + + * gst/id3demux/gstid3demux.c: (plugin_init): + * gst/id3demux/id3tags.c: + (id3demux_add_id3v2_frame_blob_to_taglist): + * gst/id3demux/id3tags.h: + On second thought, it might be wiser and more efficient + not to do tag registration from a streaming thread. + 2006-07-23 Tim-Philipp Müller * gst/id3demux/id3tags.c: diff --git a/gst/id3demux/gstid3demux.c b/gst/id3demux/gstid3demux.c index 5f51a6a2b3..72bff1386f 100644 --- a/gst/id3demux/gstid3demux.c +++ b/gst/id3demux/gstid3demux.c @@ -1090,6 +1090,11 @@ plugin_init (GstPlugin * plugin) gst_tag_register_musicbrainz_tags (); + /* ensure private tag is registered */ + gst_tag_register (GST_ID3_DEMUX_TAG_ID3V2_FRAME, GST_TAG_FLAG_META, + GST_TYPE_BUFFER, "ID3v2 frame", "unparsed id3v2 tag frame", + gst_tag_merge_use_first); + return gst_element_register (plugin, "id3demux", GST_RANK_PRIMARY, GST_TYPE_ID3DEMUX); } diff --git a/gst/id3demux/id3tags.c b/gst/id3demux/id3tags.c index a34964c067..6af215d948 100644 --- a/gst/id3demux/id3tags.c +++ b/gst/id3demux/id3tags.c @@ -330,8 +330,6 @@ convert_fid_to_v240 (gchar * frame_id) } -#define GST_ID3_DEMUX_TAG_ID3V2_FRAME "private-id3v2-frame" - /* add unknown or unhandled ID3v2 frames to the taglist as binary blobs */ static void id3demux_add_id3v2_frame_blob_to_taglist (ID3TagsWorking * work, guint size) @@ -342,11 +340,6 @@ id3demux_add_id3v2_frame_blob_to_taglist (ID3TagsWorking * work, guint size) gchar *media_type; guint frame_size; - /* ensure private tag is registered */ - gst_tag_register (GST_ID3_DEMUX_TAG_ID3V2_FRAME, GST_TAG_FLAG_META, - GST_TYPE_BUFFER, "ID3v2 frame", "unparsed id3v2 tag frame", - gst_tag_merge_use_first); - frame_data = work->hdr.frame_data - ID3V2_HDR_SIZE; frame_size = size + ID3V2_HDR_SIZE; diff --git a/gst/id3demux/id3tags.h b/gst/id3demux/id3tags.h index cdf165d8f1..c87c871095 100644 --- a/gst/id3demux/id3tags.h +++ b/gst/id3demux/id3tags.h @@ -23,6 +23,9 @@ G_BEGIN_DECLS +/* private tag for storing unprocessed ID3v2 frames */ +#define GST_ID3_DEMUX_TAG_ID3V2_FRAME "private-id3v2-frame" + #define ID3V1_TAG_SIZE 128 #define ID3V2_MARK_SIZE 3 #define ID3V2_HDR_SIZE 10