mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
APE v1/2 tag reader plus typefind function.
Original commit message from CVS: * configure.ac: * gst/apetag/Makefile.am: * gst/apetag/apedemux.c: (gst_ape_demux_get_type), (gst_ape_demux_base_init), (gst_ape_demux_class_init), (gst_ape_demux_init), (gst_ape_demux_get_src_formats), (gst_ape_demux_get_src_query_types), (gst_ape_demux_handle_src_query), (gst_ape_demux_get_event_mask), (gst_ape_demux_handle_src_event), (gst_ape_demux_handle_event), (gst_ape_demux_typefind_peek), (gst_ape_demux_typefind_get_length), (gst_ape_demux_typefind_suggest), (gst_ape_demux_typefind), (gst_ape_demux_parse_tags), (gst_ape_demux_stream_init), (gst_ape_demux_stream_data), (gst_ape_demux_loop), (gst_ape_demux_change_state): * gst/apetag/apedemux.h: * gst/apetag/apetag.c: (plugin_init): * gst/typefind/gsttypefindfunctions.c: (apetag_type_find), (plugin_init): APE v1/2 tag reader plus typefind function.
This commit is contained in:
parent
2b39885ed9
commit
3d7e0b09a2
3 changed files with 52 additions and 1 deletions
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
||||||
|
2004-11-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
* gst/apetag/Makefile.am:
|
||||||
|
* gst/apetag/apedemux.c: (gst_ape_demux_get_type),
|
||||||
|
(gst_ape_demux_base_init), (gst_ape_demux_class_init),
|
||||||
|
(gst_ape_demux_init), (gst_ape_demux_get_src_formats),
|
||||||
|
(gst_ape_demux_get_src_query_types),
|
||||||
|
(gst_ape_demux_handle_src_query), (gst_ape_demux_get_event_mask),
|
||||||
|
(gst_ape_demux_handle_src_event), (gst_ape_demux_handle_event),
|
||||||
|
(gst_ape_demux_typefind_peek), (gst_ape_demux_typefind_get_length),
|
||||||
|
(gst_ape_demux_typefind_suggest), (gst_ape_demux_typefind),
|
||||||
|
(gst_ape_demux_parse_tags), (gst_ape_demux_stream_init),
|
||||||
|
(gst_ape_demux_stream_data), (gst_ape_demux_loop),
|
||||||
|
(gst_ape_demux_change_state):
|
||||||
|
* gst/apetag/apedemux.h:
|
||||||
|
* gst/apetag/apetag.c: (plugin_init):
|
||||||
|
* gst/typefind/gsttypefindfunctions.c: (apetag_type_find),
|
||||||
|
(plugin_init):
|
||||||
|
APE v1/2 tag reader plus typefind function.
|
||||||
|
|
||||||
2004-11-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
2004-11-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
|
|
@ -329,6 +329,7 @@ GST_PLUGINS_ALL="\
|
||||||
ac3parse \
|
ac3parse \
|
||||||
adder \
|
adder \
|
||||||
alpha \
|
alpha \
|
||||||
|
apetag \
|
||||||
asfdemux \
|
asfdemux \
|
||||||
audioconvert \
|
audioconvert \
|
||||||
audioscale \
|
audioscale \
|
||||||
|
@ -1846,12 +1847,13 @@ gst/Makefile
|
||||||
gst/ac3parse/Makefile
|
gst/ac3parse/Makefile
|
||||||
gst/adder/Makefile
|
gst/adder/Makefile
|
||||||
gst/alpha/Makefile
|
gst/alpha/Makefile
|
||||||
|
gst/apetag/Makefile
|
||||||
|
gst/asfdemux/Makefile
|
||||||
gst/audioconvert/Makefile
|
gst/audioconvert/Makefile
|
||||||
gst/audioscale/Makefile
|
gst/audioscale/Makefile
|
||||||
gst/audiorate/Makefile
|
gst/audiorate/Makefile
|
||||||
gst/auparse/Makefile
|
gst/auparse/Makefile
|
||||||
gst/avi/Makefile
|
gst/avi/Makefile
|
||||||
gst/asfdemux/Makefile
|
|
||||||
gst/cdxaparse/Makefile
|
gst/cdxaparse/Makefile
|
||||||
gst/chart/Makefile
|
gst/chart/Makefile
|
||||||
gst/colorspace/Makefile
|
gst/colorspace/Makefile
|
||||||
|
|
|
@ -190,6 +190,31 @@ id3_type_find (GstTypeFind * tf, gpointer unused)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*** application/x-ape **************************************************************/
|
||||||
|
|
||||||
|
static GstStaticCaps apetag_caps = GST_STATIC_CAPS ("application/x-apetag");
|
||||||
|
|
||||||
|
#define APETAG_CAPS gst_static_caps_get(&apetag_caps)
|
||||||
|
static void
|
||||||
|
apetag_type_find (GstTypeFind * tf, gpointer unused)
|
||||||
|
{
|
||||||
|
guint8 *data;
|
||||||
|
|
||||||
|
/* APEv1/2 at start of file */
|
||||||
|
data = gst_type_find_peek (tf, 0, 8);
|
||||||
|
if (data && !memcmp (data, "APETAGEX", 8)) {
|
||||||
|
gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, APETAG_CAPS);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* APEv1/2 at end of file */
|
||||||
|
data = gst_type_find_peek (tf, -32, 8);
|
||||||
|
if (data && !memcmp (data, "APETAGEX", 8)) {
|
||||||
|
gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, APETAG_CAPS);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*** audio/x-ttafile *********************************************************/
|
/*** audio/x-ttafile *********************************************************/
|
||||||
|
|
||||||
static GstStaticCaps tta_caps = GST_STATIC_CAPS ("audio/x-ttafile");
|
static GstStaticCaps tta_caps = GST_STATIC_CAPS ("audio/x-ttafile");
|
||||||
|
@ -1406,6 +1431,7 @@ plugin_init (GstPlugin * plugin)
|
||||||
static gchar *flx_exts[] = { "flc", "fli", NULL };
|
static gchar *flx_exts[] = { "flc", "fli", NULL };
|
||||||
static gchar *id3_exts[] =
|
static gchar *id3_exts[] =
|
||||||
{ "mp3", "mp2", "mp1", "mpga", "ogg", "flac", "tta", NULL };
|
{ "mp3", "mp2", "mp1", "mpga", "ogg", "flac", "tta", NULL };
|
||||||
|
static gchar *apetag_exts[] = { "ape", "mpc", NULL };
|
||||||
static gchar *tta_exts[] = { "tta", NULL };
|
static gchar *tta_exts[] = { "tta", NULL };
|
||||||
static gchar *mod_exts[] = { "669", "amf", "dsm", "gdm", "far", "imf",
|
static gchar *mod_exts[] = { "669", "amf", "dsm", "gdm", "far", "imf",
|
||||||
"it", "med", "mod", "mtm", "okt", "sam",
|
"it", "med", "mod", "mtm", "okt", "sam",
|
||||||
|
@ -1472,6 +1498,8 @@ plugin_init (GstPlugin * plugin)
|
||||||
flx_exts, FLX_CAPS, NULL);
|
flx_exts, FLX_CAPS, NULL);
|
||||||
TYPE_FIND_REGISTER (plugin, "application/x-id3", GST_RANK_PRIMARY,
|
TYPE_FIND_REGISTER (plugin, "application/x-id3", GST_RANK_PRIMARY,
|
||||||
id3_type_find, id3_exts, ID3_CAPS, NULL);
|
id3_type_find, id3_exts, ID3_CAPS, NULL);
|
||||||
|
TYPE_FIND_REGISTER (plugin, "application/x-apetag", GST_RANK_PRIMARY,
|
||||||
|
apetag_type_find, apetag_exts, APETAG_CAPS, NULL);
|
||||||
TYPE_FIND_REGISTER (plugin, "audio/x-ttafile", GST_RANK_PRIMARY,
|
TYPE_FIND_REGISTER (plugin, "audio/x-ttafile", GST_RANK_PRIMARY,
|
||||||
tta_type_find, tta_exts, TTA_CAPS, NULL);
|
tta_type_find, tta_exts, TTA_CAPS, NULL);
|
||||||
TYPE_FIND_REGISTER (plugin, "audio/x-mod", GST_RANK_SECONDARY, mod_type_find,
|
TYPE_FIND_REGISTER (plugin, "audio/x-mod", GST_RANK_SECONDARY, mod_type_find,
|
||||||
|
|
Loading…
Reference in a new issue