diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | gst/id3demux/gstid3demux.c | 5 | ||||
-rw-r--r-- | gst/id3demux/id3tags.c | 7 | ||||
-rw-r--r-- | gst/id3demux/id3tags.h | 3 |
4 files changed, 17 insertions, 7 deletions
@@ -1,5 +1,14 @@ 2006-07-23 Tim-Philipp Müller <tim at centricular dot net> + * 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 <tim at centricular dot net> + * gst/id3demux/id3tags.c: (id3demux_add_id3v2_frame_blob_to_taglist), (id3demux_id3v2_frames_to_tag_list): diff --git a/gst/id3demux/gstid3demux.c b/gst/id3demux/gstid3demux.c index 5f51a6a2..72bff138 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 a34964c0..6af215d9 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 cdf165d8..c87c8710 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 |