mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-06 10:42:22 +00:00
Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc depend on libgsttag. This is required so we can ex...
Original commit message from CVS: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/cdda/Makefile.am: * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_base_init): * gst-libs/gst/cdda/gstcddabasesrc.h: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal), (gst_tag_register_musicbrainz_tags): Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc depend on libgsttag. This is required so we can extract/read tags like DISCID without depending on libgstcddabasesrc (which used to register them). * gst-libs/gst/tag/gstvorbistag.c: Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID tags (also see #347848). * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1): Log vorbis comments we are actually writing. Const-ify array.
This commit is contained in:
parent
3469171e16
commit
ae45b7d755
9 changed files with 99 additions and 56 deletions
22
ChangeLog
22
ChangeLog
|
@ -1,3 +1,25 @@
|
||||||
|
2006-09-23 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
|
* docs/libs/gst-plugins-base-libs-sections.txt:
|
||||||
|
* gst-libs/gst/cdda/Makefile.am:
|
||||||
|
* gst-libs/gst/cdda/gstcddabasesrc.c:
|
||||||
|
(gst_cdda_base_src_base_init):
|
||||||
|
* gst-libs/gst/cdda/gstcddabasesrc.h:
|
||||||
|
* gst-libs/gst/tag/tag.h:
|
||||||
|
* gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal),
|
||||||
|
(gst_tag_register_musicbrainz_tags):
|
||||||
|
Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc
|
||||||
|
depend on libgsttag. This is required so we can extract/read tags like
|
||||||
|
DISCID without depending on libgstcddabasesrc (which used to register
|
||||||
|
them).
|
||||||
|
|
||||||
|
* gst-libs/gst/tag/gstvorbistag.c:
|
||||||
|
Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID
|
||||||
|
tags (also see #347848).
|
||||||
|
|
||||||
|
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1):
|
||||||
|
Log vorbis comments we are actually writing. Const-ify array.
|
||||||
|
|
||||||
2006-09-23 Wim Taymans <wim@fluendo.com>
|
2006-09-23 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* gst/playback/gstplaybasebin.c: (gen_preroll_element):
|
* gst/playback/gstplaybasebin.c: (gen_preroll_element):
|
||||||
|
|
|
@ -215,10 +215,6 @@ GstCddaBaseSrcClass
|
||||||
GstCddaBaseSrcTrack
|
GstCddaBaseSrcTrack
|
||||||
GstCddaBaseSrcMode
|
GstCddaBaseSrcMode
|
||||||
gst_cdda_base_src_add_track
|
gst_cdda_base_src_add_track
|
||||||
GST_TAG_CDDA_CDDB_DISCID
|
|
||||||
GST_TAG_CDDA_CDDB_DISCID_FULL
|
|
||||||
GST_TAG_CDDA_MUSICBRAINZ_DISCID
|
|
||||||
GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL
|
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GST_CDDA_BASE_SRC
|
GST_CDDA_BASE_SRC
|
||||||
GST_CDDA_BASE_SRC_CLASS
|
GST_CDDA_BASE_SRC_CLASS
|
||||||
|
@ -851,6 +847,10 @@ GST_TAG_MUSICBRAINZ_ALBUMID
|
||||||
GST_TAG_MUSICBRAINZ_ALBUMARTISTID
|
GST_TAG_MUSICBRAINZ_ALBUMARTISTID
|
||||||
GST_TAG_MUSICBRAINZ_TRMID
|
GST_TAG_MUSICBRAINZ_TRMID
|
||||||
GST_TAG_MUSICBRAINZ_SORTNAME
|
GST_TAG_MUSICBRAINZ_SORTNAME
|
||||||
|
GST_TAG_CDDA_CDDB_DISCID
|
||||||
|
GST_TAG_CDDA_CDDB_DISCID_FULL
|
||||||
|
GST_TAG_CDDA_MUSICBRAINZ_DISCID
|
||||||
|
GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL
|
||||||
GST_TAG_CMML_CLIP
|
GST_TAG_CMML_CLIP
|
||||||
GST_TAG_CMML_HEAD
|
GST_TAG_CMML_HEAD
|
||||||
GST_TAG_CMML_STREAM
|
GST_TAG_CMML_STREAM
|
||||||
|
|
|
@ -237,7 +237,7 @@ gst_vorbis_enc_dispose (GObject * object)
|
||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstAudioChannelPosition vorbischannelpositions[][6] = {
|
static const GstAudioChannelPosition vorbischannelpositions[][6] = {
|
||||||
{ /* Mono */
|
{ /* Mono */
|
||||||
GST_AUDIO_CHANNEL_POSITION_FRONT_MONO},
|
GST_AUDIO_CHANNEL_POSITION_FRONT_MONO},
|
||||||
{ /* Stereo */
|
{ /* Stereo */
|
||||||
|
@ -637,6 +637,7 @@ gst_vorbis_enc_metadata_set1 (const GstTagList * list, const gchar * tag,
|
||||||
const gchar *vc_string = (const gchar *) l->data;
|
const gchar *vc_string = (const gchar *) l->data;
|
||||||
gchar *key = NULL, *val = NULL;
|
gchar *key = NULL, *val = NULL;
|
||||||
|
|
||||||
|
GST_LOG_OBJECT (vorbisenc, "vorbis comment: %s", vc_string);
|
||||||
if (gst_tag_parse_extended_comment (vc_string, &key, NULL, &val, TRUE)) {
|
if (gst_tag_parse_extended_comment (vc_string, &key, NULL, &val, TRUE)) {
|
||||||
vorbis_comment_add_tag (&enc->vc, key, val);
|
vorbis_comment_add_tag (&enc->vc, key, val);
|
||||||
g_free (key);
|
g_free (key);
|
||||||
|
|
|
@ -11,6 +11,7 @@ libgstcdda_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@
|
||||||
libgstcdda_@GST_MAJORMINOR@include_HEADERS = \
|
libgstcdda_@GST_MAJORMINOR@include_HEADERS = \
|
||||||
gstcddabasesrc.h
|
gstcddabasesrc.h
|
||||||
|
|
||||||
libgstcdda_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS)
|
libgstcdda_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) \
|
||||||
|
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la
|
||||||
libgstcdda_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS)
|
libgstcdda_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS)
|
||||||
libgstcdda_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
|
libgstcdda_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
|
||||||
|
|
|
@ -70,6 +70,14 @@
|
||||||
* setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
|
* setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
|
||||||
* involves closing and re-opening the CD device, which is much much slower).
|
* involves closing and re-opening the CD device, which is much much slower).
|
||||||
* </para>
|
* </para>
|
||||||
|
* <title>Tags and meta-information</title>
|
||||||
|
* <para>
|
||||||
|
* CDDA sources will automatically emit a number of tags, details about which
|
||||||
|
* can be found in the libgsttag documentation. Those tags are:
|
||||||
|
* #GST_TAG_CDDA_CDDB_DISCID, #GST_TAG_CDDA_CDDB_DISCID_FULL,
|
||||||
|
* #GST_TAG_CDDA_MUSICBRAINZ_DISCID, #GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL,
|
||||||
|
* among others.
|
||||||
|
* </para>
|
||||||
* </refsect2>
|
* </refsect2>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -182,23 +190,8 @@ gst_cdda_base_src_base_init (gpointer g_class)
|
||||||
track_format = gst_format_register ("track", "CD track");
|
track_format = gst_format_register ("track", "CD track");
|
||||||
sector_format = gst_format_register ("sector", "CD sector");
|
sector_format = gst_format_register ("sector", "CD sector");
|
||||||
|
|
||||||
/* tags */
|
/* register CDDA tags */
|
||||||
gst_tag_register (GST_TAG_CDDA_CDDB_DISCID, GST_TAG_FLAG_META,
|
gst_tag_register_musicbrainz_tags ();
|
||||||
G_TYPE_STRING, "discid", "CDDB discid for metadata retrieval",
|
|
||||||
gst_tag_merge_use_first);
|
|
||||||
|
|
||||||
gst_tag_register (GST_TAG_CDDA_CDDB_DISCID_FULL, GST_TAG_FLAG_META,
|
|
||||||
G_TYPE_STRING, "discid full",
|
|
||||||
"CDDB discid for metadata retrieval (full)", gst_tag_merge_use_first);
|
|
||||||
|
|
||||||
gst_tag_register (GST_TAG_CDDA_MUSICBRAINZ_DISCID, GST_TAG_FLAG_META,
|
|
||||||
G_TYPE_STRING, "musicbrainz-discid",
|
|
||||||
"Musicbrainz discid for metadata retrieval", gst_tag_merge_use_first);
|
|
||||||
|
|
||||||
gst_tag_register (GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL, GST_TAG_FLAG_META,
|
|
||||||
G_TYPE_STRING, "musicbrainz-discid-full",
|
|
||||||
"Musicbrainz discid for metadata retrieval (full)",
|
|
||||||
gst_tag_merge_use_first);
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
///// FIXME: what type to use here? ///////
|
///// FIXME: what type to use here? ///////
|
||||||
|
|
|
@ -24,6 +24,10 @@
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/base/gstpushsrc.h>
|
#include <gst/base/gstpushsrc.h>
|
||||||
|
|
||||||
|
/* must include this for backwards-compatibility so the
|
||||||
|
* GST_TAG_CDDA_* defines are included. Remove in 0.11 */
|
||||||
|
#include <gst/tag/tag.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_CDDA_BASE_SRC (gst_cdda_base_src_get_type())
|
#define GST_TYPE_CDDA_BASE_SRC (gst_cdda_base_src_get_type())
|
||||||
|
@ -134,37 +138,6 @@ GType gst_cdda_base_src_get_type (void);
|
||||||
gboolean gst_cdda_base_src_add_track (GstCddaBaseSrc * src,
|
gboolean gst_cdda_base_src_add_track (GstCddaBaseSrc * src,
|
||||||
GstCddaBaseSrcTrack * track);
|
GstCddaBaseSrcTrack * track);
|
||||||
|
|
||||||
|
|
||||||
/* tags */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GST_TAG_CDDA_CDDB_DISCID:
|
|
||||||
*
|
|
||||||
* CDDB disc id in its short form (e.g. 'aa063d0f')
|
|
||||||
*/
|
|
||||||
#define GST_TAG_CDDA_CDDB_DISCID "discid"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GST_TAG_CDDA_CDDB_DISCID_FULL:
|
|
||||||
*
|
|
||||||
* CDDB disc id including all details
|
|
||||||
*/
|
|
||||||
#define GST_TAG_CDDA_CDDB_DISCID_FULL "discid-full"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GST_TAG_CDDA_MUSICBRAINZ_DISCID:
|
|
||||||
*
|
|
||||||
* Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-')
|
|
||||||
*/
|
|
||||||
#define GST_TAG_CDDA_MUSICBRAINZ_DISCID "musicbrainz-discid"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL:
|
|
||||||
*
|
|
||||||
* Musicbrainz disc id details
|
|
||||||
*/
|
|
||||||
#define GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL "musicbrainz-discid-full"
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/*
|
/*
|
||||||
* GST_TAG_CDDA_TRACK_TAGS:
|
* GST_TAG_CDDA_TRACK_TAGS:
|
||||||
|
|
|
@ -71,6 +71,8 @@ static const GstTagEntryMatch tag_matches[] = {
|
||||||
{GST_TAG_MUSICBRAINZ_TRMID, "MUSICBRAINZ_TRMID"},
|
{GST_TAG_MUSICBRAINZ_TRMID, "MUSICBRAINZ_TRMID"},
|
||||||
{GST_TAG_MUSICBRAINZ_SORTNAME, "MUSICBRAINZ_SORTNAME"},
|
{GST_TAG_MUSICBRAINZ_SORTNAME, "MUSICBRAINZ_SORTNAME"},
|
||||||
{GST_TAG_LANGUAGE_CODE, "LANGUAGE"},
|
{GST_TAG_LANGUAGE_CODE, "LANGUAGE"},
|
||||||
|
{GST_TAG_CDDA_MUSICBRAINZ_DISCID, "MUSICBRAINZ_DISCID"},
|
||||||
|
{GST_TAG_CDDA_CDDB_DISCID, "DISCID"},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,37 @@ G_BEGIN_DECLS
|
||||||
*/
|
*/
|
||||||
#define GST_TAG_CMML_CLIP "cmml-clip"
|
#define GST_TAG_CMML_CLIP "cmml-clip"
|
||||||
|
|
||||||
|
/* CDDA tags */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GST_TAG_CDDA_CDDB_DISCID:
|
||||||
|
*
|
||||||
|
* CDDB disc id in its short form (e.g. 'aa063d0f')
|
||||||
|
*/
|
||||||
|
#define GST_TAG_CDDA_CDDB_DISCID "discid"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GST_TAG_CDDA_CDDB_DISCID_FULL:
|
||||||
|
*
|
||||||
|
* CDDB disc id including all details
|
||||||
|
*/
|
||||||
|
#define GST_TAG_CDDA_CDDB_DISCID_FULL "discid-full"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GST_TAG_CDDA_MUSICBRAINZ_DISCID:
|
||||||
|
*
|
||||||
|
* Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-')
|
||||||
|
*/
|
||||||
|
#define GST_TAG_CDDA_MUSICBRAINZ_DISCID "musicbrainz-discid"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL:
|
||||||
|
*
|
||||||
|
* Musicbrainz disc id details
|
||||||
|
*/
|
||||||
|
#define GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL "musicbrainz-discid-full"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* additional information for image tags */
|
/* additional information for image tags */
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
gst_tag_register_musicbrainz_tags_internal (gpointer unused)
|
gst_tag_register_tags_internal (gpointer unused)
|
||||||
{
|
{
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
|
GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
|
||||||
|
@ -52,6 +52,7 @@ gst_tag_register_musicbrainz_tags_internal (gpointer unused)
|
||||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* musicbrainz tags */
|
||||||
gst_tag_register (GST_TAG_MUSICBRAINZ_TRACKID, GST_TAG_FLAG_META,
|
gst_tag_register (GST_TAG_MUSICBRAINZ_TRACKID, GST_TAG_FLAG_META,
|
||||||
G_TYPE_STRING, _("track ID"), _("MusicBrainz track ID"), NULL);
|
G_TYPE_STRING, _("track ID"), _("MusicBrainz track ID"), NULL);
|
||||||
gst_tag_register (GST_TAG_MUSICBRAINZ_ARTISTID, GST_TAG_FLAG_META,
|
gst_tag_register (GST_TAG_MUSICBRAINZ_ARTISTID, GST_TAG_FLAG_META,
|
||||||
|
@ -67,9 +68,28 @@ gst_tag_register_musicbrainz_tags_internal (gpointer unused)
|
||||||
G_TYPE_STRING,
|
G_TYPE_STRING,
|
||||||
_("artist sortname"), _("MusicBrainz artist sortname"), NULL);
|
_("artist sortname"), _("MusicBrainz artist sortname"), NULL);
|
||||||
|
|
||||||
|
/* CDDA tags */
|
||||||
|
gst_tag_register (GST_TAG_CDDA_CDDB_DISCID, GST_TAG_FLAG_META,
|
||||||
|
G_TYPE_STRING, "discid", "CDDB discid for metadata retrieval",
|
||||||
|
gst_tag_merge_use_first);
|
||||||
|
|
||||||
|
gst_tag_register (GST_TAG_CDDA_CDDB_DISCID_FULL, GST_TAG_FLAG_META,
|
||||||
|
G_TYPE_STRING, "discid full",
|
||||||
|
"CDDB discid for metadata retrieval (full)", gst_tag_merge_use_first);
|
||||||
|
|
||||||
|
gst_tag_register (GST_TAG_CDDA_MUSICBRAINZ_DISCID, GST_TAG_FLAG_META,
|
||||||
|
G_TYPE_STRING, "musicbrainz-discid",
|
||||||
|
"Musicbrainz discid for metadata retrieval", gst_tag_merge_use_first);
|
||||||
|
|
||||||
|
gst_tag_register (GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL, GST_TAG_FLAG_META,
|
||||||
|
G_TYPE_STRING, "musicbrainz-discid-full",
|
||||||
|
"Musicbrainz discid for metadata retrieval (full)",
|
||||||
|
gst_tag_merge_use_first);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME 0.11: rename this to gst_tag_init() or gst_tag_register_tags() */
|
||||||
/**
|
/**
|
||||||
* gst_tag_register_musicbrainz_tags
|
* gst_tag_register_musicbrainz_tags
|
||||||
*
|
*
|
||||||
|
@ -82,7 +102,7 @@ gst_tag_register_musicbrainz_tags (void)
|
||||||
{
|
{
|
||||||
static GOnce mb_once = G_ONCE_INIT;
|
static GOnce mb_once = G_ONCE_INIT;
|
||||||
|
|
||||||
g_once (&mb_once, gst_tag_register_musicbrainz_tags_internal, NULL);
|
g_once (&mb_once, gst_tag_register_tags_internal, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue